Example #1
0
		public static bool DeleteDaySchedule(GKDaySchedule item)
		{
			var operationResult = ClientManager.RubezhService.DeleteGKDaySchedule(item);
			if (operationResult.HasError)
				MessageBoxService.ShowWarning(operationResult.Error);
			return operationResult.Result;
		}
Example #2
0
		public void Update(GKDaySchedule daySchedule)
		{
			DaySchedule = daySchedule;
			OnPropertyChanged(() => DaySchedule);
			OnPropertyChanged(() => Name);
			OnPropertyChanged(() => Description);
		}
Example #3
0
		public static bool SaveDaySchedule(GKDaySchedule item, bool isNew)
		{
			var operationResult = ClientManager.RubezhService.SaveGKDaySchedule(item, isNew);
			if (operationResult == null)
				return false;
			if (operationResult.HasError)
				MessageBoxService.ShowWarning(operationResult.Error);
			return operationResult.Result;
		}
Example #4
0
		public DayScheduleViewModel(GKDaySchedule daySchedule)
		{
			DaySchedule = daySchedule;
			AddCommand = new RelayCommand(OnAdd, CanAdd);
			EditCommand = new RelayCommand(OnEdit, CanEdit);
			RemoveCommand = new RelayCommand(OnRemove, CanEdit);

			DaySchedule = daySchedule;
			Parts = new ObservableCollection<DaySchedulePartViewModel>();
			foreach (var dayIntervalPart in daySchedule.DayScheduleParts)
			{
				var daySchedulePartViewModel = new DaySchedulePartViewModel(dayIntervalPart);
				Parts.Add(daySchedulePartViewModel);
			}

			Update(DaySchedule);
		}
Example #5
0
		public void Update()
		{
			if (Schedule.SchedulePeriodType == GKSchedulePeriodType.Weekly)
			{
				var dayOfWeekNo = DayNo % 7;
				Name = IntToWeekDay(dayOfWeekNo);
			}
			else
			{
				Name = string.Format("{0}", DayNo + 1);
			}
			_selectedDaySchedule = AvailableDaySchedules.FirstOrDefault(x => x.UID == Schedule.ScheduleParts[DayNo].DayScheduleUID);
			if (_selectedDaySchedule == null)
				_selectedDaySchedule = AvailableDaySchedules.FirstOrDefault();
			OnPropertyChanged(() => SelectedDaySchedule);
			OnPropertyChanged(() => Name);
		}
Example #6
0
		public OperationResult<bool> DeleteGKDaySchedule(Guid clientUID, GKDaySchedule item)
		{
			return SafeOperationCall(clientUID, () => RubezhService.DeleteGKDaySchedule(clientUID, item), "DeleteGKDaySchedule");
		}
Example #7
0
		public OperationResult<bool> SaveGKDaySchedule(Guid clientUID, GKDaySchedule item, bool isNew)
		{
			return SafeOperationCall(clientUID, () => RubezhService.SaveGKDaySchedule(clientUID, item, isNew), "SaveGKDaySchedule");
		}
Example #8
0
		public OperationResult<bool> DeleteGKDaySchedule(GKDaySchedule item)
		{
			return SafeOperationCall(() =>
			{
				var rubezhService = RubezhServiceFactory.Create(TimeSpan.FromMinutes(10));
				using (rubezhService as IDisposable)
					return rubezhService.DeleteGKDaySchedule(RubezhServiceFactory.UID, item);
			}, "DeleteGKDaySchedule");
		}
Example #9
0
		/// <summary>
		/// Редактирование дневного графика из БД и из всех ГК
		/// При изменении дневного графика ГК перезаписываются все графики в ГК, в которых данный дневной график учавствовал
		/// </summary>
		/// <param name="daySchedule"></param>
		/// <returns>Возвращает False, только если произошла ошибка в БД</returns>
		public OperationResult<bool> DeleteGKDaySchedule(Guid clientUID, GKDaySchedule daySchedule)
		{
			AddJournalMessage(JournalEventNameType.Удаление_дневного_графика_ГК, daySchedule.Name, daySchedule.UID, clientUID, journalObjectType: JournalObjectType.GKDayShedule);

			IEnumerable<GKSchedule> changedSchedules;
			using (var databaseService = new RubezhDAL.DataClasses.DbService())
			{
				var schedulesResult = databaseService.GKScheduleTranslator.Get();
				if (schedulesResult.HasError)
					return OperationResult<bool>.FromError(schedulesResult.Error, false);
				changedSchedules = schedulesResult.Result.Where(x => x.ScheduleParts.Any(y => y.DayScheduleUID == daySchedule.UID));

				var deleteResult = databaseService.GKDayScheduleTranslator.Delete(daySchedule);
				if (deleteResult.HasError)
					return OperationResult<bool>.FromError(deleteResult.Error, false);
			}
			return GKScheduleHelper.SetSchedules(changedSchedules);
		}