Beispiel #1
0
		public static void EditShedule(List<byte> bytes)
		{
			var imitatorSchedule = new ImitatorSchedule();
			imitatorSchedule.No = bytes[0];
			imitatorSchedule.Name = BytesHelper.BytesToStringDescription(bytes, 1);
			imitatorSchedule.HolidayScheduleNo = bytes[33];
			imitatorSchedule.PartsCount = BytesHelper.SubstructShort(bytes, 34);
			imitatorSchedule.TotalSeconds = BytesHelper.SubstructInt(bytes, 36);
			imitatorSchedule.WorkHolidayScheduleNo = bytes[40];
			for (int i = 0; i < imitatorSchedule.PartsCount / 2; i++)
			{
				var imitatorSheduleInterval = new ImitatorSheduleInterval();
				imitatorSheduleInterval.StartSeconds = BytesHelper.SubstructInt(bytes, 48 + i * 8);
				imitatorSheduleInterval.EndSeconds = BytesHelper.SubstructInt(bytes, 52 + i * 8);
				imitatorSchedule.ImitatorSheduleIntervals.Add(imitatorSheduleInterval);
			}

			using (var dbService = new DbService())
			{
				dbService.ImitatorScheduleTranslator.AddOrEdit(imitatorSchedule);
			}
		}
		public void AddOrEdit(ImitatorSchedule imitatorSchedule)
		{
			try
			{
				var existingImitatorSchedule = Context.ImitatorSchedules.Include(x => x.ImitatorSheduleIntervals).FirstOrDefault(x => x.No == imitatorSchedule.No);
				if (existingImitatorSchedule != null)
				{
					Context.ImitatorSheduleIntervals.RemoveRange(existingImitatorSchedule.ImitatorSheduleIntervals);
					existingImitatorSchedule.Name = imitatorSchedule.Name;
					existingImitatorSchedule.HolidayScheduleNo = imitatorSchedule.HolidayScheduleNo;
					existingImitatorSchedule.PartsCount = imitatorSchedule.PartsCount;
					existingImitatorSchedule.TotalSeconds = imitatorSchedule.TotalSeconds;
					existingImitatorSchedule.WorkHolidayScheduleNo = imitatorSchedule.WorkHolidayScheduleNo;
					existingImitatorSchedule.ImitatorSheduleIntervals = imitatorSchedule.ImitatorSheduleIntervals;
				}
				else
				{
					Context.ImitatorSchedules.Add(imitatorSchedule);
				}
				Context.SaveChanges();
			}
			catch { }
		}