コード例 #1
0
        public async Task EditActivityAsync_CorrectUpdateOnContext(
            string teacher, string room, string subject, string classGroup)
        {
            using var context = PrepareData.GetDbContext(); var activity = context.Activities.Include(a => a.Slot).FirstOrDefault();
            int id          = activity.Id;
            int slot        = activity.Slot.Index;
            var activityDTO = new ActivityEditDTO()
            {
                Id         = id,
                ClassGroup = classGroup,
                Room       = room,
                Slot       = slot,
                Subject    = subject,
                Teacher    = teacher
            };
            var service = new ActivitiesService(context);
            var value   = await service.EditActivityAsync(activity.Id, activityDTO);

            var activityToCheck = GetActivities(context).FirstOrDefault(
                a =>
                a.Id == id &&
                a.Teacher.Name == teacher &&
                a.Room.Name == room &&
                a.Subject.Name == subject &&
                a.ClassGroup.Name == classGroup
                );

            Assert.True(value.IsRight);
            Assert.NotNull(activityToCheck);
        }
コード例 #2
0
            public Task <ActivityEditDTO> GetActivityByIdAsync(int activityEditId)
            {
                var dto = new ActivityEditDTO
                {
                    Id = activityEditId,
                    RequiresApproval = activityEditId == ItemRequiresApproval
                };

                return(Task.FromResult(dto));
            }
コード例 #3
0
 internal void LoadData(ActivityEditDTO item)
 {
     using (this.BypassPropertyChecks)
     {
         this.Id               = item.Id;
         this.Name             = item.Name;
         this.Description      = item.Description;
         this.RequiresApproval = item.RequiresApproval;
         this.CreateEmployeeId = item.CreateEmployeeId;
         this.EntryType        = item.EntryType;
     }
 }
コード例 #4
0
        public ActivityEditDTO Insert(ActivityEditDTO data)
        {
            using (var ctx = new Entities())
            {
                ctx.Database.Connection.Open();
                var saveActivity = LoadData(data);
                ctx.Activities.Add(saveActivity);

                ctx.SaveChanges();
                data.Id = saveActivity.ActivityId;
            }
            return(data);
        }
コード例 #5
0
        private static Activity LoadData(ActivityEditDTO data)
        {
            var activityEntity = new Activity
            {
                ActivityId          = data.Id,
                ActivityName        = data.Name,
                ActivityDescription = data.Description,
                RequiresApproval    = data.RequiresApproval,
                CreateEmployeeId    = data.CreateEmployeeId,
                EntryTypeId         = (int)data.EntryType
            };

            return(activityEntity);
        }
コード例 #6
0
        private ActivityEditDTO UnloadData()
        {
            var returnValue = new ActivityEditDTO();

            using (this.BypassPropertyChecks)
            {
                returnValue.Id               = this.Id;
                returnValue.Description      = this.Description;
                returnValue.Name             = this.Name;
                returnValue.RequiresApproval = this.RequiresApproval;
                returnValue.CreateEmployeeId = this.CreateEmployeeId;
                returnValue.EntryType        = this.EntryType;
            }
            return(returnValue);
        }
コード例 #7
0
        public ActivityEditDTO Update(ActivityEditDTO data)
        {
            using (var ctx = new Entities())
            {
                ctx.Database.Connection.Open();
                var saveActivity = LoadData(data);
                ctx.Activities.Attach(saveActivity);
                var objectState = ((IObjectContextAdapter)ctx).ObjectContext.ObjectStateManager;
                objectState.GetObjectStateEntry(saveActivity).SetModifiedProperty("ActivityName");
                objectState.GetObjectStateEntry(saveActivity).SetModifiedProperty("ActivityDescription");
                objectState.GetObjectStateEntry(saveActivity).SetModifiedProperty("RequiresApproval");
                objectState.GetObjectStateEntry(saveActivity).SetModifiedProperty("CreateEmployeeId");
                objectState.GetObjectStateEntry(saveActivity).SetModifiedProperty("EntryTypeId");

                ctx.SaveChanges();
                data.Id = saveActivity.ActivityId;
            }
            return(data);
        }
コード例 #8
0
 public ActivityEditDTO Insert(ActivityEditDTO data)
 {
     throw new NotImplementedException();
 }