Exemplo n.º 1
0
		public OperationResult<bool> Save(RubezhAPI.GK.GKSchedule item)
		{
			return DbServiceHelper.InTryCatch(() =>
			{
				bool isNew = false;
				var tableItem = GetTableItems().FirstOrDefault(x => x.UID == item.UID);
				if (tableItem == null)
				{
					isNew = true;
					tableItem = new GKSchedule { UID = item.UID };
				}
				else
				{
					Context.GKScheduleDays.RemoveRange(tableItem.ScheduleDays);
					Context.ScheduleGKDaySchedules.RemoveRange(tableItem.ScheduleGKDaySchedules);
				}
				tableItem.No = item.No;
				tableItem.Name = item.Name;
				tableItem.Description = item.Description;
				tableItem.Year = item.Year;
				tableItem.Type = (int)item.ScheduleType;
				tableItem.PeriodType = (int)item.SchedulePeriodType;
				tableItem.StartDateTime = item.StartDateTime.CheckDate();
				tableItem.HoursPeriod = item.HoursPeriod;
				tableItem.HolidayScheduleNo = item.HolidayScheduleNo;
				tableItem.WorkingHolidayScheduleNo = item.WorkHolidayScheduleNo;
				tableItem.ScheduleDays = item.SelectedDays.Select(x => new GKScheduleDay
				{
					UID = Guid.NewGuid(),
					ScheduleUID = item.UID,
					DateTime = x.CheckDate()
				}).ToList();
				tableItem.ScheduleGKDaySchedules = item.ScheduleParts.Select(x => new ScheduleGKDaySchedule
				{
					UID = Guid.NewGuid(),
					ScheduleUID = item.UID,
					DayScheduleUID = x.DayScheduleUID.EmptyToNull(),
					DayNo = x.DayNo
				}).ToList();
				if (isNew)
					Context.GKSchedules.Add(tableItem);
				Context.SaveChanges();
				return true;
			});
		}
Exemplo n.º 2
0
		public RubezhAPI.GK.GKSchedule Translate(GKSchedule tableItem)
		{
			var result = new RubezhAPI.GK.GKSchedule();
			result.UID = tableItem.UID;
			result.No = tableItem.No;
			result.Name = tableItem.Name;
			result.Description = tableItem.Description;
			result.ScheduleType = (RubezhAPI.GK.GKScheduleType)tableItem.Type;
			result.SchedulePeriodType = (RubezhAPI.GK.GKSchedulePeriodType)tableItem.PeriodType;
			result.StartDateTime = tableItem.StartDateTime;
			result.HoursPeriod = tableItem.HoursPeriod;
			result.HolidayScheduleNo = tableItem.HolidayScheduleNo;
			result.WorkHolidayScheduleNo = tableItem.WorkingHolidayScheduleNo;
			result.ScheduleParts =
				tableItem.ScheduleGKDaySchedules.Select(x => new GKSchedulePart() { DayScheduleUID = x.DayScheduleUID.GetValueOrDefault(), DayNo = x.DayNo }).ToList();
			result.SelectedDays = tableItem.ScheduleDays.Select(x => x.DateTime).ToList();
			result.Year = tableItem.Year;
			return result;
		}