Hr Surveys
This commit is contained in:
parent
98d81ce296
commit
ca0185549b
19 changed files with 2897 additions and 200 deletions
|
|
@ -7839,6 +7839,18 @@
|
|||
"tr": "Harcama Talepleri",
|
||||
"en": "Expense Requests"
|
||||
},
|
||||
{
|
||||
"resourceName": "Platform",
|
||||
"key": "App.Hr.Survey",
|
||||
"tr": "Anketler",
|
||||
"en": "Surveys"
|
||||
},
|
||||
{
|
||||
"resourceName": "Platform",
|
||||
"key": "App.Hr.SurveyQuestion",
|
||||
"tr": "Anket Soruları",
|
||||
"en": "Survey Questions"
|
||||
},
|
||||
{
|
||||
"resourceName": "Platform",
|
||||
"key": "App.Intranet.Meal",
|
||||
|
|
@ -15460,7 +15472,7 @@
|
|||
"DisplayName": "App.Hr.Performance360",
|
||||
"Order": 13,
|
||||
"Url": "/admin/list/list-performance360",
|
||||
"Icon": "FcSurvey",
|
||||
"Icon": "FcFeedback",
|
||||
"RequiredPermissionName": "App.Hr.Performance360",
|
||||
"IsDisabled": false
|
||||
},
|
||||
|
|
@ -15474,6 +15486,16 @@
|
|||
"RequiredPermissionName": "App.Hr.Training",
|
||||
"IsDisabled": false
|
||||
},
|
||||
{
|
||||
"ParentCode": "App.Hr",
|
||||
"Code": "App.Hr.Survey",
|
||||
"DisplayName": "App.Hr.Survey",
|
||||
"Order": 15,
|
||||
"Url": "/admin/list/list-survey",
|
||||
"Icon": "FcSurvey",
|
||||
"RequiredPermissionName": "App.Hr.Survey",
|
||||
"IsDisabled": false
|
||||
},
|
||||
{
|
||||
"ParentCode": null,
|
||||
"Code": "App.Mrp",
|
||||
|
|
@ -24957,6 +24979,141 @@
|
|||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey",
|
||||
"ParentName": null,
|
||||
"DisplayName": "App.Hr.Survey",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Create",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Create",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Update",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Update",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Delete",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Delete",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Export",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Export",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Import",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Import",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Activity",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Activity",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.Survey.Widget",
|
||||
"ParentName": "App.Hr.Survey",
|
||||
"DisplayName": "Widget",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion",
|
||||
"ParentName": null,
|
||||
"DisplayName": "App.Hr.SurveyQuestion",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion.Create",
|
||||
"ParentName": "App.Hr.SurveyQuestion",
|
||||
"DisplayName": "Create",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion.Update",
|
||||
"ParentName": "App.Hr.SurveyQuestion",
|
||||
"DisplayName": "Update",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion.Delete",
|
||||
"ParentName": "App.Hr.SurveyQuestion",
|
||||
"DisplayName": "Delete",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion.Export",
|
||||
"ParentName": "App.Hr.SurveyQuestion",
|
||||
"DisplayName": "Export",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion.Import",
|
||||
"ParentName": "App.Hr.SurveyQuestion",
|
||||
"DisplayName": "Import",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.SurveyQuestion.Activity",
|
||||
"ParentName": "App.Hr.SurveyQuestion",
|
||||
"DisplayName": "Activity",
|
||||
"IsEnabled": true,
|
||||
"MultiTenancySide": 3,
|
||||
"MenuGroup": "Erp"
|
||||
},
|
||||
{
|
||||
"GroupName": "App.Hr",
|
||||
"Name": "App.Hr.CostCenter",
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -293,4 +293,11 @@ public static class LookUpQueryValues
|
|||
$"\"Name\" AS \"Name\" " +
|
||||
$"FROM \"{FullNameTable(TableNameEnum.Template360)}\" " +
|
||||
$"WHERE \"IsDeleted\" = 'false' ";
|
||||
|
||||
public static string SurveyValues =
|
||||
$"SELECT " +
|
||||
$"\"Id\" AS \"Key\", " +
|
||||
$"\"Title\" AS \"Name\" " +
|
||||
$"FROM \"{FullNameTable(TableNameEnum.Survey)}\" " +
|
||||
$"WHERE \"IsDeleted\" = 'false' ";
|
||||
}
|
||||
|
|
@ -123,5 +123,10 @@ public enum TableNameEnum
|
|||
ShuttleRoute,
|
||||
Announcement,
|
||||
Visitor,
|
||||
Expense
|
||||
Expense,
|
||||
Survey,
|
||||
SurveyQuestion,
|
||||
SurveyQuestionOption,
|
||||
SurveyResponse,
|
||||
SurveyAnswer
|
||||
}
|
||||
|
|
@ -430,6 +430,7 @@ public static class PlatformConsts
|
|||
public const string FormTenant = "form-tenant";
|
||||
public const string FormQuestionPool = "form-questionpool";
|
||||
public const string FormBank = "form-bank";
|
||||
public const string FormSurvey = "form-survey";
|
||||
}
|
||||
|
||||
public static class Lists
|
||||
|
|
@ -534,6 +535,9 @@ public static class PlatformConsts
|
|||
public const string Announcement = "list-announcement";
|
||||
public const string Visitor = "list-visitor";
|
||||
public const string Expense = "list-expense";
|
||||
public const string Survey = "list-survey";
|
||||
public const string SurveyQuestion = "list-surveyquestion";
|
||||
public const string SurveyQuestionOption = "list-surveyquestionoption";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -131,6 +131,11 @@ public static class TableNameResolver
|
|||
{ nameof(TableNameEnum.Template360), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.Performance360), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.Expense), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.Survey), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.SurveyQuestion), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.SurveyQuestionOption), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.SurveyAnswer), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
{ nameof(TableNameEnum.SurveyResponse), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Hr) },
|
||||
|
||||
// Intranet
|
||||
{ nameof(TableNameEnum.EventCategory), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Intranet) },
|
||||
|
|
|
|||
|
|
@ -476,6 +476,9 @@ public static class SeedConsts
|
|||
public const string Payroll = Default + ".Payroll";
|
||||
public const string Template360 = Default + ".Template360";
|
||||
public const string Performance360 = Default + ".Performance360";
|
||||
public const string Survey = Default + ".Survey";
|
||||
public const string SurveyQuestion = Default + ".SurveyQuestion";
|
||||
public const string SurveyQuestionOption = Default + ".SurveyQuestionOption";
|
||||
}
|
||||
|
||||
public static class Accounting
|
||||
|
|
|
|||
|
|
@ -73,4 +73,5 @@ public class Employee : FullAuditedEntity<Guid>, IMultiTenant
|
|||
public ICollection<Reservation> Reservations { get; set; }
|
||||
public ICollection<Certificate> Certificates { get; set; }
|
||||
public ICollection<Expense> ExpenseRequests { get; set; }
|
||||
public ICollection<SurveyResponse> SurveyResponses { get; set; }
|
||||
}
|
||||
|
|
|
|||
76
api/src/Kurs.Platform.Domain/Entities/Tenant/Hr/Survey.cs
Normal file
76
api/src/Kurs.Platform.Domain/Entities/Tenant/Hr/Survey.cs
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Volo.Abp.Domain.Entities.Auditing;
|
||||
using Volo.Abp.MultiTenancy;
|
||||
|
||||
namespace Kurs.Platform.Entities;
|
||||
|
||||
public class Survey : FullAuditedEntity<Guid>, IMultiTenant
|
||||
{
|
||||
public Guid? TenantId { get; set; }
|
||||
|
||||
public string Title { get; set; }
|
||||
public string Description { get; set; }
|
||||
public DateTime Deadline { get; set; }
|
||||
public int Responses { get; set; }
|
||||
public string Status { get; set; } // draft | active | closed
|
||||
public bool IsAnonymous { get; set; }
|
||||
|
||||
public ICollection<SurveyQuestion> Questions { get; set; }
|
||||
public ICollection<SurveyResponse> SurveyResponses { get; set; }
|
||||
}
|
||||
|
||||
public class SurveyQuestion : FullAuditedEntity<Guid>, IMultiTenant
|
||||
{
|
||||
public Guid? TenantId { get; set; }
|
||||
|
||||
public Guid SurveyId { get; set; }
|
||||
public Survey Survey { get; set; }
|
||||
|
||||
public string QuestionText { get; set; }
|
||||
public string Type { get; set; } // rating | multiple-choice | text | textarea | yes-no
|
||||
public int Order { get; set; }
|
||||
public bool IsRequired { get; set; }
|
||||
|
||||
public ICollection<SurveyQuestionOption> Options { get; set; }
|
||||
}
|
||||
|
||||
public class SurveyQuestionOption : FullAuditedEntity<Guid>, IMultiTenant
|
||||
{
|
||||
public Guid? TenantId { get; set; }
|
||||
|
||||
public Guid QuestionId { get; set; }
|
||||
public SurveyQuestion Question { get; set; }
|
||||
|
||||
public string Text { get; set; }
|
||||
public int Order { get; set; }
|
||||
}
|
||||
|
||||
public class SurveyResponse : FullAuditedEntity<Guid>, IMultiTenant
|
||||
{
|
||||
public Guid? TenantId { get; set; }
|
||||
|
||||
public Guid SurveyId { get; set; }
|
||||
public Survey Survey { get; set; }
|
||||
|
||||
public Guid? EmployeeId { get; set; }
|
||||
public Employee? Employee { get; set; }
|
||||
|
||||
public DateTime SubmissionTime { get; set; }
|
||||
|
||||
public ICollection<SurveyAnswer> Answers { get; set; }
|
||||
}
|
||||
|
||||
public class SurveyAnswer : FullAuditedEntity<Guid>, IMultiTenant
|
||||
{
|
||||
public Guid? TenantId { get; set; }
|
||||
|
||||
public Guid ResponseId { get; set; }
|
||||
public SurveyResponse Response { get; set; }
|
||||
|
||||
public Guid QuestionId { get; set; }
|
||||
public SurveyQuestion Question { get; set; }
|
||||
|
||||
public string QuestionType { get; set; } // rating | multiple-choice | text | textarea | yes-no
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
|
@ -184,6 +184,11 @@ public class PlatformDbContext :
|
|||
public DbSet<Announcement> Announcements { get; set; }
|
||||
public DbSet<Visitor> Visitors { get; set; }
|
||||
public DbSet<Expense> ExpenseRequests { get; set; }
|
||||
public DbSet<Survey> Surveys { get; set; }
|
||||
public DbSet<SurveyQuestion> SurveyQuestions { get; set; }
|
||||
public DbSet<SurveyQuestionOption> SurveyQuestionOptions { get; set; }
|
||||
public DbSet<SurveyResponse> SurveyResponses { get; set; }
|
||||
public DbSet<SurveyAnswer> SurveyAnswers { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
@ -2023,5 +2028,82 @@ public class PlatformDbContext :
|
|||
.HasPrincipalKey(e => e.Id)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
builder.Entity<Survey>(b =>
|
||||
{
|
||||
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Survey)), Prefix.DbSchema);
|
||||
b.ConfigureByConvention();
|
||||
|
||||
b.Property(x => x.Title).IsRequired().HasMaxLength(250);
|
||||
b.Property(x => x.Description).HasMaxLength(2000);
|
||||
b.Property(x => x.Deadline).IsRequired();
|
||||
b.Property(x => x.Responses).HasDefaultValue(0);
|
||||
b.Property(x => x.Status).IsRequired().HasMaxLength(10);
|
||||
});
|
||||
|
||||
builder.Entity<SurveyQuestion>(b =>
|
||||
{
|
||||
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestion)), Prefix.DbSchema);
|
||||
b.ConfigureByConvention();
|
||||
|
||||
b.Property(x => x.QuestionText).IsRequired().HasMaxLength(1000);
|
||||
b.Property(x => x.Type).IsRequired().HasMaxLength(50);
|
||||
|
||||
b.HasOne(x => x.Survey)
|
||||
.WithMany(x => x.Questions)
|
||||
.HasForeignKey(x => x.SurveyId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
builder.Entity<SurveyQuestionOption>(b =>
|
||||
{
|
||||
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestionOption)), Prefix.DbSchema);
|
||||
b.ConfigureByConvention();
|
||||
|
||||
b.Property(x => x.Text).IsRequired().HasMaxLength(500);
|
||||
b.Property(x => x.Order).IsRequired();
|
||||
|
||||
b.HasOne(x => x.Question)
|
||||
.WithMany(x => x.Options)
|
||||
.HasForeignKey(x => x.QuestionId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
builder.Entity<SurveyResponse>(b =>
|
||||
{
|
||||
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyResponse)), Prefix.DbSchema);
|
||||
b.ConfigureByConvention();
|
||||
|
||||
b.Property(x => x.SubmissionTime).IsRequired();
|
||||
|
||||
b.HasOne(x => x.Survey)
|
||||
.WithMany(x => x.SurveyResponses)
|
||||
.HasForeignKey(x => x.SurveyId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne(x => x.Employee)
|
||||
.WithMany(x => x.SurveyResponses)
|
||||
.HasForeignKey(x => x.EmployeeId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
|
||||
builder.Entity<SurveyAnswer>(b =>
|
||||
{
|
||||
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyAnswer)), Prefix.DbSchema);
|
||||
b.ConfigureByConvention();
|
||||
|
||||
b.Property(x => x.QuestionType).IsRequired().HasMaxLength(50);
|
||||
b.Property(x => x.Value).IsRequired();
|
||||
|
||||
b.HasOne(x => x.Response)
|
||||
.WithMany(x => x.Answers)
|
||||
.HasForeignKey(x => x.ResponseId)
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne(x => x.Question)
|
||||
.WithMany()
|
||||
.HasForeignKey(x => x.QuestionId)
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
|
|||
namespace Kurs.Platform.Migrations
|
||||
{
|
||||
[DbContext(typeof(PlatformDbContext))]
|
||||
[Migration("20251026200120_Initial")]
|
||||
[Migration("20251027142130_Initial")]
|
||||
partial class Initial
|
||||
{
|
||||
/// <inheritdoc />
|
||||
|
|
@ -7930,6 +7930,317 @@ namespace Kurs.Platform.Migrations
|
|||
b.ToTable("T_Prt_Source", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Survey", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<DateTime>("Deadline")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasMaxLength(2000)
|
||||
.HasColumnType("nvarchar(2000)");
|
||||
|
||||
b.Property<bool>("IsAnonymous")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<int>("Responses")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasDefaultValue(0);
|
||||
|
||||
b.Property<string>("Status")
|
||||
.IsRequired()
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("nvarchar(10)");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Title")
|
||||
.IsRequired()
|
||||
.HasMaxLength(250)
|
||||
.HasColumnType("nvarchar(250)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("T_Hr_Survey", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyAnswer", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<Guid>("QuestionId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("QuestionType")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("nvarchar(50)");
|
||||
|
||||
b.Property<Guid>("ResponseId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Value")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("QuestionId");
|
||||
|
||||
b.HasIndex("ResponseId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyAnswer", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestion", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<bool>("IsRequired")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<int>("Order")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("QuestionText")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1000)
|
||||
.HasColumnType("nvarchar(1000)");
|
||||
|
||||
b.Property<Guid>("SurveyId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Type")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("nvarchar(50)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SurveyId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyQuestion", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestionOption", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<int>("Order")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<Guid>("QuestionId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Text")
|
||||
.IsRequired()
|
||||
.HasMaxLength(500)
|
||||
.HasColumnType("nvarchar(500)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("QuestionId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyQuestionOption", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyResponse", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<Guid?>("EmployeeId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<DateTime>("SubmissionTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<Guid>("SurveyId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("EmployeeId");
|
||||
|
||||
b.HasIndex("SurveyId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyResponse", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Template360", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
|
|
@ -11322,6 +11633,65 @@ namespace Kurs.Platform.Migrations
|
|||
b.Navigation("SkillType");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyAnswer", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.SurveyQuestion", "Question")
|
||||
.WithMany()
|
||||
.HasForeignKey("QuestionId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("Kurs.Platform.Entities.SurveyResponse", "Response")
|
||||
.WithMany("Answers")
|
||||
.HasForeignKey("ResponseId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Question");
|
||||
|
||||
b.Navigation("Response");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestion", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.Survey", "Survey")
|
||||
.WithMany("Questions")
|
||||
.HasForeignKey("SurveyId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Survey");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestionOption", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.SurveyQuestion", "Question")
|
||||
.WithMany("Options")
|
||||
.HasForeignKey("QuestionId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Question");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyResponse", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.Employee", "Employee")
|
||||
.WithMany("SurveyResponses")
|
||||
.HasForeignKey("EmployeeId")
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
b.HasOne("Kurs.Platform.Entities.Survey", "Survey")
|
||||
.WithMany("SurveyResponses")
|
||||
.HasForeignKey("SurveyId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
|
||||
b.Navigation("Survey");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Uom", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.UomCategory", "UomCategory")
|
||||
|
|
@ -11596,6 +11966,8 @@ namespace Kurs.Platform.Migrations
|
|||
|
||||
b.Navigation("Reservations");
|
||||
|
||||
b.Navigation("SurveyResponses");
|
||||
|
||||
b.Navigation("Visitors");
|
||||
});
|
||||
|
||||
|
|
@ -11667,6 +12039,23 @@ namespace Kurs.Platform.Migrations
|
|||
b.Navigation("Skills");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Survey", b =>
|
||||
{
|
||||
b.Navigation("Questions");
|
||||
|
||||
b.Navigation("SurveyResponses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestion", b =>
|
||||
{
|
||||
b.Navigation("Options");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyResponse", b =>
|
||||
{
|
||||
b.Navigation("Answers");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Template360", b =>
|
||||
{
|
||||
b.Navigation("Performans360s");
|
||||
|
|
@ -1789,6 +1789,31 @@ namespace Kurs.Platform.Migrations
|
|||
table.PrimaryKey("PK_T_Hr_Payroll", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Hr_Survey",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
Title = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
|
||||
Description = table.Column<string>(type: "nvarchar(2000)", maxLength: 2000, nullable: true),
|
||||
Deadline = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
Responses = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
|
||||
Status = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: false),
|
||||
IsAnonymous = table.Column<bool>(type: "bit", nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_T_Hr_Survey", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Hr_Template360",
|
||||
columns: table => new
|
||||
|
|
@ -3283,6 +3308,36 @@ namespace Kurs.Platform.Migrations
|
|||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Hr_SurveyQuestion",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SurveyId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
QuestionText = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: false),
|
||||
Type = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
||||
Order = table.Column<int>(type: "int", nullable: false),
|
||||
IsRequired = table.Column<bool>(type: "bit", nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_T_Hr_SurveyQuestion", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_T_Hr_SurveyQuestion_T_Hr_Survey_SurveyId",
|
||||
column: x => x.SurveyId,
|
||||
principalTable: "T_Hr_Survey",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Net_Event",
|
||||
columns: table => new
|
||||
|
|
@ -3723,6 +3778,34 @@ namespace Kurs.Platform.Migrations
|
|||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Hr_SurveyQuestionOption",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
QuestionId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Text = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: false),
|
||||
Order = table.Column<int>(type: "int", nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_T_Hr_SurveyQuestionOption", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_T_Hr_SurveyQuestionOption_T_Hr_SurveyQuestion_QuestionId",
|
||||
column: x => x.QuestionId,
|
||||
principalTable: "T_Hr_SurveyQuestion",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Adm_EventComment",
|
||||
columns: table => new
|
||||
|
|
@ -4241,6 +4324,40 @@ namespace Kurs.Platform.Migrations
|
|||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Hr_SurveyResponse",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SurveyId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SubmissionTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_T_Hr_SurveyResponse", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_T_Hr_SurveyResponse_T_Hr_Employee_EmployeeId",
|
||||
column: x => x.EmployeeId,
|
||||
principalTable: "T_Hr_Employee",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_T_Hr_SurveyResponse_T_Hr_Survey_SurveyId",
|
||||
column: x => x.SurveyId,
|
||||
principalTable: "T_Hr_Survey",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Net_Announcement",
|
||||
columns: table => new
|
||||
|
|
@ -4384,6 +4501,41 @@ namespace Kurs.Platform.Migrations
|
|||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "T_Hr_SurveyAnswer",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
ResponseId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
QuestionId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
QuestionType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
||||
Value = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_T_Hr_SurveyAnswer", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_T_Hr_SurveyAnswer_T_Hr_SurveyQuestion_QuestionId",
|
||||
column: x => x.QuestionId,
|
||||
principalTable: "T_Hr_SurveyQuestion",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
table.ForeignKey(
|
||||
name: "FK_T_Hr_SurveyAnswer_T_Hr_SurveyResponse_ResponseId",
|
||||
column: x => x.ResponseId,
|
||||
principalTable: "T_Hr_SurveyResponse",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_AbpAuditLogActions_AuditLogId",
|
||||
table: "AbpAuditLogActions",
|
||||
|
|
@ -5043,6 +5195,36 @@ namespace Kurs.Platform.Migrations
|
|||
table: "T_Hr_Performance360",
|
||||
column: "TemplateId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Hr_SurveyAnswer_QuestionId",
|
||||
table: "T_Hr_SurveyAnswer",
|
||||
column: "QuestionId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Hr_SurveyAnswer_ResponseId",
|
||||
table: "T_Hr_SurveyAnswer",
|
||||
column: "ResponseId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Hr_SurveyQuestion_SurveyId",
|
||||
table: "T_Hr_SurveyQuestion",
|
||||
column: "SurveyId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Hr_SurveyQuestionOption_QuestionId",
|
||||
table: "T_Hr_SurveyQuestionOption",
|
||||
column: "QuestionId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Hr_SurveyResponse_EmployeeId",
|
||||
table: "T_Hr_SurveyResponse",
|
||||
column: "EmployeeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Hr_SurveyResponse_SurveyId",
|
||||
table: "T_Hr_SurveyResponse",
|
||||
column: "SurveyId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_T_Net_Announcement_EmployeeId",
|
||||
table: "T_Net_Announcement",
|
||||
|
|
@ -5415,6 +5597,12 @@ namespace Kurs.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_Performance360");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_SurveyAnswer");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_SurveyQuestionOption");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Net_Announcement");
|
||||
|
||||
|
|
@ -5559,6 +5747,12 @@ namespace Kurs.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_Template360");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_SurveyResponse");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_SurveyQuestion");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Net_Training");
|
||||
|
||||
|
|
@ -5598,6 +5792,9 @@ namespace Kurs.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "T_Crd_QuestionPool");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Hr_Survey");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "T_Sas_ReportCategory");
|
||||
|
||||
|
|
@ -7927,6 +7927,317 @@ namespace Kurs.Platform.Migrations
|
|||
b.ToTable("T_Prt_Source", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Survey", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<DateTime>("Deadline")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.HasMaxLength(2000)
|
||||
.HasColumnType("nvarchar(2000)");
|
||||
|
||||
b.Property<bool>("IsAnonymous")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<int>("Responses")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasDefaultValue(0);
|
||||
|
||||
b.Property<string>("Status")
|
||||
.IsRequired()
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("nvarchar(10)");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Title")
|
||||
.IsRequired()
|
||||
.HasMaxLength(250)
|
||||
.HasColumnType("nvarchar(250)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("T_Hr_Survey", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyAnswer", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<Guid>("QuestionId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("QuestionType")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("nvarchar(50)");
|
||||
|
||||
b.Property<Guid>("ResponseId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Value")
|
||||
.IsRequired()
|
||||
.HasColumnType("nvarchar(max)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("QuestionId");
|
||||
|
||||
b.HasIndex("ResponseId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyAnswer", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestion", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<bool>("IsRequired")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<int>("Order")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<string>("QuestionText")
|
||||
.IsRequired()
|
||||
.HasMaxLength(1000)
|
||||
.HasColumnType("nvarchar(1000)");
|
||||
|
||||
b.Property<Guid>("SurveyId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Type")
|
||||
.IsRequired()
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("nvarchar(50)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SurveyId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyQuestion", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestionOption", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<int>("Order")
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<Guid>("QuestionId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Text")
|
||||
.IsRequired()
|
||||
.HasMaxLength(500)
|
||||
.HasColumnType("nvarchar(500)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("QuestionId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyQuestionOption", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyResponse", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("CreationTime");
|
||||
|
||||
b.Property<Guid?>("CreatorId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("CreatorId");
|
||||
|
||||
b.Property<Guid?>("DeleterId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("DeleterId");
|
||||
|
||||
b.Property<DateTime?>("DeletionTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("DeletionTime");
|
||||
|
||||
b.Property<Guid?>("EmployeeId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<bool>("IsDeleted")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bit")
|
||||
.HasDefaultValue(false)
|
||||
.HasColumnName("IsDeleted");
|
||||
|
||||
b.Property<DateTime?>("LastModificationTime")
|
||||
.HasColumnType("datetime2")
|
||||
.HasColumnName("LastModificationTime");
|
||||
|
||||
b.Property<Guid?>("LastModifierId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("LastModifierId");
|
||||
|
||||
b.Property<DateTime>("SubmissionTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<Guid>("SurveyId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("EmployeeId");
|
||||
|
||||
b.HasIndex("SurveyId");
|
||||
|
||||
b.ToTable("T_Hr_SurveyResponse", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Template360", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
|
|
@ -11319,6 +11630,65 @@ namespace Kurs.Platform.Migrations
|
|||
b.Navigation("SkillType");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyAnswer", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.SurveyQuestion", "Question")
|
||||
.WithMany()
|
||||
.HasForeignKey("QuestionId")
|
||||
.OnDelete(DeleteBehavior.Restrict)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("Kurs.Platform.Entities.SurveyResponse", "Response")
|
||||
.WithMany("Answers")
|
||||
.HasForeignKey("ResponseId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Question");
|
||||
|
||||
b.Navigation("Response");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestion", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.Survey", "Survey")
|
||||
.WithMany("Questions")
|
||||
.HasForeignKey("SurveyId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Survey");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestionOption", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.SurveyQuestion", "Question")
|
||||
.WithMany("Options")
|
||||
.HasForeignKey("QuestionId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Question");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyResponse", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.Employee", "Employee")
|
||||
.WithMany("SurveyResponses")
|
||||
.HasForeignKey("EmployeeId")
|
||||
.OnDelete(DeleteBehavior.Restrict);
|
||||
|
||||
b.HasOne("Kurs.Platform.Entities.Survey", "Survey")
|
||||
.WithMany("SurveyResponses")
|
||||
.HasForeignKey("SurveyId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Employee");
|
||||
|
||||
b.Navigation("Survey");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Uom", b =>
|
||||
{
|
||||
b.HasOne("Kurs.Platform.Entities.UomCategory", "UomCategory")
|
||||
|
|
@ -11593,6 +11963,8 @@ namespace Kurs.Platform.Migrations
|
|||
|
||||
b.Navigation("Reservations");
|
||||
|
||||
b.Navigation("SurveyResponses");
|
||||
|
||||
b.Navigation("Visitors");
|
||||
});
|
||||
|
||||
|
|
@ -11664,6 +12036,23 @@ namespace Kurs.Platform.Migrations
|
|||
b.Navigation("Skills");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Survey", b =>
|
||||
{
|
||||
b.Navigation("Questions");
|
||||
|
||||
b.Navigation("SurveyResponses");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyQuestion", b =>
|
||||
{
|
||||
b.Navigation("Options");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.SurveyResponse", b =>
|
||||
{
|
||||
b.Navigation("Answers");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Kurs.Platform.Entities.Template360", b =>
|
||||
{
|
||||
b.Navigation("Performans360s");
|
||||
|
|
|
|||
|
|
@ -3709,5 +3709,170 @@
|
|||
"approverCode": "EMP-005",
|
||||
"approvalDate": "05-10-2024"
|
||||
}
|
||||
],
|
||||
"Surveys": [
|
||||
{
|
||||
"Title": "Çalışan Memnuniyet Anketi 2024",
|
||||
"Description": "Yıllık çalışan memnuniyeti ve bağlılık araştırması",
|
||||
"Deadline": "2024-10-31T00:00:00",
|
||||
"Responses": 45,
|
||||
"Status": "active",
|
||||
"IsAnonymous": true
|
||||
},
|
||||
{
|
||||
"Title": "Eğitim İhtiyaç Analizi",
|
||||
"Description": "2025 yılı eğitim planlaması için ihtiyaç tespiti",
|
||||
"Deadline": "2024-11-15T00:00:00",
|
||||
"Responses": 28,
|
||||
"Status": "active",
|
||||
"IsAnonymous": false
|
||||
},
|
||||
{
|
||||
"Title": "Kafeterya Memnuniyet Anketi",
|
||||
"Description": "Yemek kalitesi ve servis değerlendirmesi",
|
||||
"Deadline": "2024-09-30T00:00:00",
|
||||
"Responses": 62,
|
||||
"Status": "closed",
|
||||
"IsAnonymous": true
|
||||
}
|
||||
],
|
||||
"SurveyQuestions": [
|
||||
{
|
||||
"SurveyTitle": "Çalışan Memnuniyet Anketi 2024",
|
||||
"QuestionText": "Genel memnuniyet düzeyiniz nedir?",
|
||||
"Type": "rating",
|
||||
"Order": 1,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Çalışan Memnuniyet Anketi 2024",
|
||||
"QuestionText": "Hangi departmanda çalışıyorsunuz?",
|
||||
"Type": "multiple-choice",
|
||||
"Order": 2,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Çalışan Memnuniyet Anketi 2024",
|
||||
"QuestionText": "Görüş ve önerileriniz",
|
||||
"Type": "textarea",
|
||||
"Order": 3,
|
||||
"IsRequired": false
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Çalışan Memnuniyet Anketi 2024",
|
||||
"QuestionText": "Çalışma ortamından memnun musunuz?",
|
||||
"Type": "yes-no",
|
||||
"Order": 4,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Eğitim İhtiyaç Analizi",
|
||||
"QuestionText": "Hangi teknoloji konularında eğitim almak istiyorsunuz?",
|
||||
"Type": "multiple-choice",
|
||||
"Order": 1,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Eğitim İhtiyaç Analizi",
|
||||
"QuestionText": "Eğitim formatı tercihiniz nedir?",
|
||||
"Type": "multiple-choice",
|
||||
"Order": 2,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Eğitim İhtiyaç Analizi",
|
||||
"QuestionText": "Eğitim için haftalık ne kadar zaman ayırabilirsiniz?",
|
||||
"Type": "rating",
|
||||
"Order": 3,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Kafeterya Memnuniyet Anketi",
|
||||
"QuestionText": "Yemek kalitesini nasıl değerlendiriyorsunuz?",
|
||||
"Type": "rating",
|
||||
"Order": 1,
|
||||
"IsRequired": true
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Kafeterya Memnuniyet Anketi",
|
||||
"QuestionText": "Hangi yemekleri daha sık görmek istiyorsunuz?",
|
||||
"Type": "textarea",
|
||||
"Order": 2,
|
||||
"IsRequired": false
|
||||
},
|
||||
{
|
||||
"SurveyTitle": "Kafeterya Memnuniyet Anketi",
|
||||
"QuestionText": "Servis hızından memnun musunuz?",
|
||||
"Type": "yes-no",
|
||||
"Order": 3,
|
||||
"IsRequired": true
|
||||
}
|
||||
],
|
||||
"SurveyQuestionOptions": [
|
||||
{
|
||||
"QuestionText": "Hangi departmanda çalışıyorsunuz?",
|
||||
"Text": "Bilgi Teknolojileri",
|
||||
"Order": 1
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi departmanda çalışıyorsunuz?",
|
||||
"Text": "İnsan Kaynakları",
|
||||
"Order": 2
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi departmanda çalışıyorsunuz?",
|
||||
"Text": "Finans",
|
||||
"Order": 3
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi departmanda çalışıyorsunuz?",
|
||||
"Text": "Satış",
|
||||
"Order": 4
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi departmanda çalışıyorsunuz?",
|
||||
"Text": "Pazarlama",
|
||||
"Order": 5
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi teknoloji konularında eğitim almak istiyorsunuz?",
|
||||
"Text": "React / Frontend",
|
||||
"Order": 1
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi teknoloji konularında eğitim almak istiyorsunuz?",
|
||||
"Text": "Node.js / Backend",
|
||||
"Order": 2
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi teknoloji konularında eğitim almak istiyorsunuz?",
|
||||
"Text": "Database / SQL",
|
||||
"Order": 3
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi teknoloji konularında eğitim almak istiyorsunuz?",
|
||||
"Text": "DevOps / Cloud",
|
||||
"Order": 4
|
||||
},
|
||||
{
|
||||
"QuestionText": "Hangi teknoloji konularında eğitim almak istiyorsunuz?",
|
||||
"Text": "Mobile Development",
|
||||
"Order": 5
|
||||
},
|
||||
{
|
||||
"QuestionText": "Eğitim formatı tercihiniz nedir?",
|
||||
"Text": "Online Eğitim",
|
||||
"Order": 1
|
||||
},
|
||||
{
|
||||
"QuestionText": "Eğitim formatı tercihiniz nedir?",
|
||||
"Text": "Yüz Yüze Eğitim",
|
||||
"Order": 2
|
||||
},
|
||||
{
|
||||
"QuestionText": "Eğitim formatı tercihiniz nedir?",
|
||||
"Text": "Hibrit (Karma)",
|
||||
"Order": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -80,6 +80,9 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
|||
private readonly IRepository<Announcement, Guid> _announcementRepository;
|
||||
private readonly IRepository<Visitor, Guid> _visitorRepository;
|
||||
private readonly IRepository<Expense, Guid> _expenseRepository;
|
||||
private readonly IRepository<Survey, Guid> _surveyRepository;
|
||||
private readonly IRepository<SurveyQuestion, Guid> _surveyQuestionRepository;
|
||||
private readonly IRepository<SurveyQuestionOption, Guid> _surveyQuestionOptionRepository;
|
||||
|
||||
public TenantDataSeeder(
|
||||
IRepository<IdentityUser, Guid> repositoryUser,
|
||||
|
|
@ -142,7 +145,10 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
|||
IRepository<ShuttleRoute, Guid> shuttleRouteRepository,
|
||||
IRepository<Announcement, Guid> announcementRepository,
|
||||
IRepository<Visitor, Guid> visitorRepository,
|
||||
IRepository<Expense, Guid> expenseRepository
|
||||
IRepository<Expense, Guid> expenseRepository,
|
||||
IRepository<Survey, Guid> surveyRepository,
|
||||
IRepository<SurveyQuestion, Guid> surveyQuestionRepository,
|
||||
IRepository<SurveyQuestionOption, Guid> surveyQuestionOptionRepository
|
||||
)
|
||||
{
|
||||
_repositoryUser = repositoryUser;
|
||||
|
|
@ -206,6 +212,10 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
|||
_announcementRepository = announcementRepository;
|
||||
_visitorRepository = visitorRepository;
|
||||
_expenseRepository = expenseRepository;
|
||||
_expenseRepository = expenseRepository;
|
||||
_surveyRepository = surveyRepository;
|
||||
_surveyQuestionRepository = surveyQuestionRepository;
|
||||
_surveyQuestionOptionRepository = surveyQuestionOptionRepository;
|
||||
}
|
||||
|
||||
private static IConfigurationRoot BuildConfiguration()
|
||||
|
|
@ -1290,7 +1300,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
foreach (var item in items.Visitors)
|
||||
{
|
||||
var exists = await _visitorRepository.AnyAsync(x => x.FullName == item.FullName);
|
||||
|
|
@ -1336,5 +1345,57 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
|||
ApprovalDate = item.ApprovalDate
|
||||
});
|
||||
}
|
||||
|
||||
foreach (var item in items.Surveys)
|
||||
{
|
||||
var exists = await _surveyRepository.AnyAsync(x => x.Title == item.Title);
|
||||
if (exists)
|
||||
continue;
|
||||
|
||||
await _surveyRepository.InsertAsync(new Survey
|
||||
{
|
||||
Title = item.Title,
|
||||
Description = item.Description,
|
||||
Deadline = item.Deadline,
|
||||
Responses = item.Responses,
|
||||
Status = item.Status,
|
||||
IsAnonymous = item.IsAnonymous
|
||||
}, autoSave: true);
|
||||
}
|
||||
|
||||
foreach (var item in items.SurveyQuestions)
|
||||
{
|
||||
var exists = await _surveyQuestionRepository.AnyAsync(x => x.QuestionText == item.QuestionText);
|
||||
if (exists)
|
||||
continue;
|
||||
|
||||
var survey = await _surveyRepository.FirstOrDefaultAsync(x => x.Title == item.SurveyTitle);
|
||||
await _surveyQuestionRepository.InsertAsync(new SurveyQuestion
|
||||
{
|
||||
SurveyId = survey != null ? survey.Id : Guid.Empty,
|
||||
QuestionText = item.QuestionText,
|
||||
Type = item.Type,
|
||||
Order = item.Order,
|
||||
IsRequired = item.IsRequired
|
||||
}, autoSave: true);
|
||||
}
|
||||
|
||||
foreach (var item in items.SurveyQuestionOptions)
|
||||
{
|
||||
var surveyQuestion = await _surveyQuestionRepository.FirstOrDefaultAsync(x => x.QuestionText == item.QuestionText);
|
||||
if (surveyQuestion == null)
|
||||
continue;
|
||||
|
||||
var exists = await _surveyQuestionOptionRepository.AnyAsync(x => x.QuestionId == surveyQuestion.Id && x.Text == item.Text);
|
||||
if (exists)
|
||||
continue;
|
||||
|
||||
await _surveyQuestionOptionRepository.InsertAsync(new SurveyQuestionOption
|
||||
{
|
||||
QuestionId = surveyQuestion.Id,
|
||||
Text = item.Text,
|
||||
Order = item.Order
|
||||
}, autoSave: true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,6 +68,35 @@ public class TenantSeederDto
|
|||
public List<AnnouncementSeedDto> Announcements { get; set; }
|
||||
public List<VisitorSeedDto> Visitors { get; set; }
|
||||
public List<ExpenseRequestSeedDto> ExpenseRequests { get; set; }
|
||||
public List<SurveySeedDto> Surveys { get; set; }
|
||||
public List<SurveyQuestionSeedDto> SurveyQuestions { get; set; }
|
||||
public List<SurveyQuestionOptionSeedDto> SurveyQuestionOptions { get; set; }
|
||||
}
|
||||
|
||||
public class SurveySeedDto
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public string Description { get; set; }
|
||||
public DateTime Deadline { get; set; }
|
||||
public int Responses { get; set; }
|
||||
public string Status { get; set; }
|
||||
public bool IsAnonymous { get; set; }
|
||||
}
|
||||
|
||||
public class SurveyQuestionSeedDto
|
||||
{
|
||||
public string QuestionText { get; set; }
|
||||
public string SurveyTitle { get; set; }
|
||||
public string Type { get; set; }
|
||||
public int Order { get; set; }
|
||||
public bool IsRequired { get; set; }
|
||||
}
|
||||
|
||||
public class SurveyQuestionOptionSeedDto
|
||||
{
|
||||
public string QuestionText { get; set; }
|
||||
public string Text { get; set; }
|
||||
public int Order { get; set; }
|
||||
}
|
||||
|
||||
public class ExpenseRequestSeedDto
|
||||
|
|
|
|||
|
|
@ -14,181 +14,6 @@ import {
|
|||
SocialPost,
|
||||
} from '@/types/intranet'
|
||||
|
||||
export const mockSurveys: Survey[] = [
|
||||
{
|
||||
id: 'survey1',
|
||||
title: 'Çalışan Memnuniyet Anketi 2024',
|
||||
description: 'Yıllık çalışan memnuniyeti ve bağlılık araştırması',
|
||||
creatorId: mockEmployees[0],
|
||||
creationTime: new Date('2024-10-01'),
|
||||
deadline: new Date('2024-10-31'),
|
||||
questions: [
|
||||
{
|
||||
id: 'q1',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Genel memnuniyet düzeyiniz nedir?',
|
||||
type: 'rating',
|
||||
order: 1,
|
||||
isRequired: true,
|
||||
ratingConfig: {
|
||||
min: 1,
|
||||
max: 5,
|
||||
labels: {
|
||||
1: 'Çok Kötü',
|
||||
2: 'Kötü',
|
||||
3: 'Orta',
|
||||
4: 'İyi',
|
||||
5: 'Çok İyi',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'q2',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Hangi departmanda çalışıyorsunuz?',
|
||||
type: 'multiple-choice',
|
||||
order: 2,
|
||||
isRequired: true,
|
||||
options: [
|
||||
{ id: 'opt1', text: 'Bilgi Teknolojileri', order: 1 },
|
||||
{ id: 'opt2', text: 'İnsan Kaynakları', order: 2 },
|
||||
{ id: 'opt3', text: 'Finans', order: 3 },
|
||||
{ id: 'opt4', text: 'Satış', order: 4 },
|
||||
{ id: 'opt5', text: 'Pazarlama', order: 5 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q3',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Görüş ve önerileriniz',
|
||||
type: 'textarea',
|
||||
order: 3,
|
||||
isRequired: false,
|
||||
},
|
||||
{
|
||||
id: 'q4',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Çalışma ortamından memnun musunuz?',
|
||||
type: 'yes-no',
|
||||
order: 4,
|
||||
isRequired: true,
|
||||
},
|
||||
],
|
||||
responses: 45,
|
||||
targetAudience: ['Tüm Çalışanlar'],
|
||||
status: 'active',
|
||||
isAnonymous: true,
|
||||
},
|
||||
{
|
||||
id: 'survey2',
|
||||
title: 'Eğitim İhtiyaç Analizi',
|
||||
description: '2025 yılı eğitim planlaması için ihtiyaç tespiti',
|
||||
creatorId: mockEmployees[2],
|
||||
creationTime: new Date('2024-10-10'),
|
||||
deadline: new Date('2024-11-15'),
|
||||
questions: [
|
||||
{
|
||||
id: 'q5',
|
||||
surveyId: 'survey2',
|
||||
questionText: 'Hangi teknoloji konularında eğitim almak istiyorsunuz?',
|
||||
type: 'multiple-choice',
|
||||
order: 1,
|
||||
isRequired: true,
|
||||
options: [
|
||||
{ id: 'opt6', text: 'React / Frontend', order: 1 },
|
||||
{ id: 'opt7', text: 'Node.js / Backend', order: 2 },
|
||||
{ id: 'opt8', text: 'Database / SQL', order: 3 },
|
||||
{ id: 'opt9', text: 'DevOps / Cloud', order: 4 },
|
||||
{ id: 'opt10', text: 'Mobile Development', order: 5 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q6',
|
||||
surveyId: 'survey2',
|
||||
questionText: 'Eğitim formatı tercihiniz nedir?',
|
||||
type: 'multiple-choice',
|
||||
order: 2,
|
||||
isRequired: true,
|
||||
options: [
|
||||
{ id: 'opt11', text: 'Online Eğitim', order: 1 },
|
||||
{ id: 'opt12', text: 'Yüz Yüze Eğitim', order: 2 },
|
||||
{ id: 'opt13', text: 'Hibrit (Karma)', order: 3 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q7',
|
||||
surveyId: 'survey2',
|
||||
questionText: 'Eğitim için haftalık ne kadar zaman ayırabilirsiniz?',
|
||||
type: 'rating',
|
||||
order: 3,
|
||||
isRequired: true,
|
||||
ratingConfig: {
|
||||
min: 1,
|
||||
max: 10,
|
||||
labels: {
|
||||
1: '1 saat',
|
||||
5: '5 saat',
|
||||
10: '10+ saat',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
responses: 28,
|
||||
targetAudience: ['Yazılım Geliştirme', 'Ürün Yönetimi'],
|
||||
status: 'active',
|
||||
isAnonymous: false,
|
||||
},
|
||||
{
|
||||
id: 'survey3',
|
||||
title: 'Kafeterya Memnuniyet Anketi',
|
||||
description: 'Yemek kalitesi ve servis değerlendirmesi',
|
||||
creatorId: mockEmployees[4],
|
||||
creationTime: new Date('2024-09-15'),
|
||||
deadline: new Date('2024-09-30'),
|
||||
questions: [
|
||||
{
|
||||
id: 'q8',
|
||||
surveyId: 'survey3',
|
||||
questionText: 'Yemek kalitesini nasıl değerlendiriyorsunuz?',
|
||||
type: 'rating',
|
||||
order: 1,
|
||||
isRequired: true,
|
||||
ratingConfig: {
|
||||
min: 1,
|
||||
max: 5,
|
||||
labels: {
|
||||
1: 'Çok Kötü',
|
||||
2: 'Kötü',
|
||||
3: 'Orta',
|
||||
4: 'İyi',
|
||||
5: 'Mükemmel',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'q9',
|
||||
surveyId: 'survey3',
|
||||
questionText: 'Hangi yemekleri daha sık görmek istiyorsunuz?',
|
||||
type: 'textarea',
|
||||
order: 2,
|
||||
isRequired: false,
|
||||
},
|
||||
{
|
||||
id: 'q10',
|
||||
surveyId: 'survey3',
|
||||
questionText: 'Servis hızından memnun musunuz?',
|
||||
type: 'yes-no',
|
||||
order: 3,
|
||||
isRequired: true,
|
||||
},
|
||||
],
|
||||
responses: 62,
|
||||
targetAudience: ['Tüm Çalışanlar'],
|
||||
status: 'closed',
|
||||
isAnonymous: true,
|
||||
},
|
||||
]
|
||||
|
||||
export const mockSocialPosts: SocialPost[] = [
|
||||
{
|
||||
id: '1',
|
||||
|
|
@ -1066,3 +891,178 @@ export const mockDocuments: Document[] = [
|
|||
tags: ['development', 'standards', 'coding'],
|
||||
},
|
||||
]
|
||||
|
||||
export const mockSurveys: Survey[] = [
|
||||
{
|
||||
id: 'survey1',
|
||||
title: 'Çalışan Memnuniyet Anketi 2024',
|
||||
description: 'Yıllık çalışan memnuniyeti ve bağlılık araştırması',
|
||||
creatorId: mockEmployees[0],
|
||||
creationTime: new Date('2024-10-01'),
|
||||
deadline: new Date('2024-10-31'),
|
||||
questions: [
|
||||
{
|
||||
id: 'q1',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Genel memnuniyet düzeyiniz nedir?',
|
||||
type: 'rating',
|
||||
order: 1,
|
||||
isRequired: true,
|
||||
ratingConfig: {
|
||||
min: 1,
|
||||
max: 5,
|
||||
labels: {
|
||||
1: 'Çok Kötü',
|
||||
2: 'Kötü',
|
||||
3: 'Orta',
|
||||
4: 'İyi',
|
||||
5: 'Çok İyi',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'q2',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Hangi departmanda çalışıyorsunuz?',
|
||||
type: 'multiple-choice',
|
||||
order: 2,
|
||||
isRequired: true,
|
||||
options: [
|
||||
{ id: 'opt1', text: 'Bilgi Teknolojileri', order: 1 },
|
||||
{ id: 'opt2', text: 'İnsan Kaynakları', order: 2 },
|
||||
{ id: 'opt3', text: 'Finans', order: 3 },
|
||||
{ id: 'opt4', text: 'Satış', order: 4 },
|
||||
{ id: 'opt5', text: 'Pazarlama', order: 5 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q3',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Görüş ve önerileriniz',
|
||||
type: 'textarea',
|
||||
order: 3,
|
||||
isRequired: false,
|
||||
},
|
||||
{
|
||||
id: 'q4',
|
||||
surveyId: 'survey1',
|
||||
questionText: 'Çalışma ortamından memnun musunuz?',
|
||||
type: 'yes-no',
|
||||
order: 4,
|
||||
isRequired: true,
|
||||
},
|
||||
],
|
||||
responses: 45,
|
||||
targetAudience: ['Tüm Çalışanlar'],
|
||||
status: 'active',
|
||||
isAnonymous: true,
|
||||
},
|
||||
{
|
||||
id: 'survey2',
|
||||
title: 'Eğitim İhtiyaç Analizi',
|
||||
description: '2025 yılı eğitim planlaması için ihtiyaç tespiti',
|
||||
creatorId: mockEmployees[2],
|
||||
creationTime: new Date('2024-10-10'),
|
||||
deadline: new Date('2024-11-15'),
|
||||
questions: [
|
||||
{
|
||||
id: 'q5',
|
||||
surveyId: 'survey2',
|
||||
questionText: 'Hangi teknoloji konularında eğitim almak istiyorsunuz?',
|
||||
type: 'multiple-choice',
|
||||
order: 1,
|
||||
isRequired: true,
|
||||
options: [
|
||||
{ id: 'opt6', text: 'React / Frontend', order: 1 },
|
||||
{ id: 'opt7', text: 'Node.js / Backend', order: 2 },
|
||||
{ id: 'opt8', text: 'Database / SQL', order: 3 },
|
||||
{ id: 'opt9', text: 'DevOps / Cloud', order: 4 },
|
||||
{ id: 'opt10', text: 'Mobile Development', order: 5 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q6',
|
||||
surveyId: 'survey2',
|
||||
questionText: 'Eğitim formatı tercihiniz nedir?',
|
||||
type: 'multiple-choice',
|
||||
order: 2,
|
||||
isRequired: true,
|
||||
options: [
|
||||
{ id: 'opt11', text: 'Online Eğitim', order: 1 },
|
||||
{ id: 'opt12', text: 'Yüz Yüze Eğitim', order: 2 },
|
||||
{ id: 'opt13', text: 'Hibrit (Karma)', order: 3 },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'q7',
|
||||
surveyId: 'survey2',
|
||||
questionText: 'Eğitim için haftalık ne kadar zaman ayırabilirsiniz?',
|
||||
type: 'rating',
|
||||
order: 3,
|
||||
isRequired: true,
|
||||
ratingConfig: {
|
||||
min: 1,
|
||||
max: 10,
|
||||
labels: {
|
||||
1: '1 saat',
|
||||
5: '5 saat',
|
||||
10: '10+ saat',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
responses: 28,
|
||||
targetAudience: ['Yazılım Geliştirme', 'Ürün Yönetimi'],
|
||||
status: 'active',
|
||||
isAnonymous: false,
|
||||
},
|
||||
{
|
||||
id: 'survey3',
|
||||
title: 'Kafeterya Memnuniyet Anketi',
|
||||
description: 'Yemek kalitesi ve servis değerlendirmesi',
|
||||
creatorId: mockEmployees[4],
|
||||
creationTime: new Date('2024-09-15'),
|
||||
deadline: new Date('2024-09-30'),
|
||||
questions: [
|
||||
{
|
||||
id: 'q8',
|
||||
surveyId: 'survey3',
|
||||
questionText: 'Yemek kalitesini nasıl değerlendiriyorsunuz?',
|
||||
type: 'rating',
|
||||
order: 1,
|
||||
isRequired: true,
|
||||
ratingConfig: {
|
||||
min: 1,
|
||||
max: 5,
|
||||
labels: {
|
||||
1: 'Çok Kötü',
|
||||
2: 'Kötü',
|
||||
3: 'Orta',
|
||||
4: 'İyi',
|
||||
5: 'Mükemmel',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'q9',
|
||||
surveyId: 'survey3',
|
||||
questionText: 'Hangi yemekleri daha sık görmek istiyorsunuz?',
|
||||
type: 'textarea',
|
||||
order: 2,
|
||||
isRequired: false,
|
||||
},
|
||||
{
|
||||
id: 'q10',
|
||||
surveyId: 'survey3',
|
||||
questionText: 'Servis hızından memnun musunuz?',
|
||||
type: 'yes-no',
|
||||
order: 3,
|
||||
isRequired: true,
|
||||
},
|
||||
],
|
||||
responses: 62,
|
||||
targetAudience: ['Tüm Çalışanlar'],
|
||||
status: 'closed',
|
||||
isAnonymous: true,
|
||||
},
|
||||
]
|
||||
|
|
|
|||
|
|
@ -161,6 +161,21 @@ export interface ShuttleRoute {
|
|||
type: 'morning' | 'evening'
|
||||
}
|
||||
|
||||
// Anket
|
||||
export interface Survey {
|
||||
id: string
|
||||
title: string
|
||||
description: string
|
||||
creatorId: HrEmployee
|
||||
creationTime: Date
|
||||
deadline: Date
|
||||
questions: SurveyQuestion[]
|
||||
responses: number
|
||||
targetAudience: string[]
|
||||
status: 'draft' | 'active' | 'closed'
|
||||
isAnonymous: boolean
|
||||
}
|
||||
|
||||
// Anket Sorusu
|
||||
export interface SurveyQuestion {
|
||||
id: string
|
||||
|
|
@ -184,21 +199,6 @@ export interface SurveyQuestionOption {
|
|||
order: number
|
||||
}
|
||||
|
||||
// Anket
|
||||
export interface Survey {
|
||||
id: string
|
||||
title: string
|
||||
description: string
|
||||
creatorId: HrEmployee
|
||||
creationTime: Date
|
||||
deadline: Date
|
||||
questions: SurveyQuestion[]
|
||||
responses: number
|
||||
targetAudience: string[]
|
||||
status: 'draft' | 'active' | 'closed'
|
||||
isAnonymous: boolean
|
||||
}
|
||||
|
||||
// Anket Cevabı
|
||||
export interface SurveyResponse {
|
||||
id: string
|
||||
|
|
|
|||
|
|
@ -98,7 +98,9 @@ const IntranetDashboard: React.FC = () => {
|
|||
{checkPermission('App.Intranet.Reservation.Widget') && (
|
||||
<ActiveReservations onNewReservation={() => setShowReservationModal(true)} />
|
||||
)}
|
||||
{checkPermission('App.Intranet.Survey.Widget') && (
|
||||
<ActiveSurveys onTakeSurvey={handleTakeSurvey} />
|
||||
)}
|
||||
{checkPermission('App.Intranet.Visitor.Widget') && <Visitors />}
|
||||
{checkPermission('App.Hr.Expense.Widget') && (
|
||||
<ExpenseManagement onNewExpense={() => setShowExpenseModal(true)} />
|
||||
|
|
|
|||
Loading…
Reference in a new issue