public virtual void NewDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } if (_obj.CurrentDeadline < Calendar.Now) { // Проверить корректность срока. if (!Docflow.PublicFunctions.Module.CheckDeadline(e.NewValue, Calendar.Now)) { e.AddError(RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanToday); } } else { // Новый срок должен быть больше старого. if (!Docflow.PublicFunctions.Module.CheckDeadline(e.NewValue, _obj.CurrentDeadline)) { e.AddError(DeadlineExtensionTasks.Resources.DesiredDeadlineIsNotCorrect); } } }
public override void DatedValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { base.DatedValueInput(e); if (e.NewValue != null && e.NewValue >= Calendar.SqlMinValue) { if (Functions.IncomingLetter.HaveDuplicates(_obj, _obj.DocumentKind, _obj.BusinessUnit, _obj.InNumber, e.NewValue, _obj.Correspondent)) { e.AddWarning(IncomingLetters.Resources.DuplicateDetected, _obj.Info.Properties.DocumentKind, _obj.Info.Properties.BusinessUnit, _obj.Info.Properties.InNumber, _obj.Info.Properties.Dated, _obj.Info.Properties.Correspondent); } } // Для DateTime событие изменения отрабатывает, даже если даты одинаковые. // Поэтому еще раз сравниваем только даты без учёта времени. if (e.OldValue.HasValue && e.NewValue.HasValue && Equals(e.OldValue.Value.Date, e.NewValue.Value.Date)) { return; } this._obj.State.Properties.Dated.HighlightColor = Sungero.Core.Colors.Empty; }
public virtual void DeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(_obj.Addressee, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } }
private void CheckDeadline(Sungero.Presentation.DateTimeValueInputEventArgs e, IUser user) { var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(user, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } // Предупреждение на установку даты больше даты основного поручения. var parentAssignment = ActionItemExecutionAssignments.As(_obj.ParentAssignment); if (parentAssignment != null && Docflow.PublicFunctions.Module.CheckDeadline(e.NewValue, parentAssignment.Deadline)) { e.AddWarning(ActionItemExecutionTasks.Resources.DeadlineSubActionItemExecutionFormat(parentAssignment.Deadline.Value.ToUserTime().ToShortDateString())); } _obj.State.Controls.Control.Refresh(); }
public virtual void MilestonesDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { if (_obj.IsCompleted.Value) { e.AddError(ContractualDocuments.Resources.CannotChangeCompleteMilestone); } // Проверить корректность срока. var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(_obj.Performer ?? Users.Current, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } if (!Docflow.PublicFunctions.Module.CheckDeadline(_obj.Performer ?? Users.Current, e.NewValue, Calendar.Today)) { e.AddWarning(ContractualDocuments.Resources.DeadlineMilestoneLessThenToday); } }
public virtual void NewDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var assignee = ActionItemExecutionTasks.As(_obj.Task).Assignee; var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(assignee, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } // Проверить корректность срока. if (!Docflow.PublicFunctions.Module.CheckDeadline(assignee, e.NewValue, Calendar.Now)) { e.AddWarning(ActionItemSupervisorAssignments.Resources.NewDeadlineLessThenToday); } else if (e.NewValue != null && e.NewValue != _obj.ScheduledDate && !Docflow.PublicFunctions.Module.CheckDeadline(e.NewValue, _obj.ScheduledDate)) { e.AddError(ActionItemSupervisorAssignments.Resources.ImpossibleSpecifyDeadlineLessActionItemDeadline); } }
public virtual void DateTimeValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { if (!e.NewValue.HasValue) { return; } // Если время не задано, ставить начало рабочего дня. if (!e.NewValue.Value.HasTime()) { e.NewValue = e.NewValue.Value.BeginningOfWorkingDay(); } // Проверить корректность даты. else if (!e.NewValue.Value.IsWorkingDay(Users.Current)) { e.AddWarning(Meetings.Resources.MeetingDateIsWeekend); } else if (!e.NewValue.Value.IsWorkingTime(Users.Current)) { e.AddWarning(Meetings.Resources.MeetingTimeIsWeekend); } }
public virtual void AddresseeDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var warnMessage = Docflow.Functions.Module.CheckDeadlineByWorkCalendar(_obj.Addressee ?? Users.Current, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } if (!Docflow.PublicFunctions.Module.CheckDeadline(_obj.Addressee ?? Users.Current, e.NewValue, Calendar.Now)) { e.AddError(FreeApprovalTasks.Resources.ImpossibleSpecifyDeadlineLessThanToday); } }
public override void MaxDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var warnMessage = Docflow.Functions.Module.CheckDeadlineByWorkCalendar(e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } if (!Functions.Module.CheckDeadline(e.NewValue, Calendar.Now)) { e.AddError(FreeApprovalTasks.Resources.ImpossibleSpecifyDeadlineLessThanToday); } }
public override void MaxDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(_obj.Assignee, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } // Проверить корректность срока. if (!Docflow.PublicFunctions.Module.CheckDeadline(_obj.Assignee, e.NewValue, Calendar.Now)) { e.AddError(RecordManagement.Resources.ImpossibleSpecifyDeadlineForAssignee); } }
public override void RegistrationDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { base.RegistrationDateValueInput(e); if (e.NewValue != null && e.NewValue >= Calendar.SqlMinValue) { if (Functions.ContractBase.HaveDuplicates(_obj, _obj.BusinessUnit, _obj.RegistrationNumber, e.NewValue, _obj.Counterparty)) { e.AddWarning(ContractualDocuments.Resources.DuplicatesDetected + ContractualDocuments.Resources.FindDuplicates, _obj.Info.Properties.Counterparty, _obj.Info.Properties.BusinessUnit, _obj.Info.Properties.RegistrationDate, _obj.Info.Properties.RegistrationNumber); } } }
public virtual void ActionItemPartsDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { var assignee = _obj.Assignee ?? Users.Current; var warnMessage = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(assignee, e.NewValue); if (!string.IsNullOrEmpty(warnMessage)) { e.AddWarning(warnMessage); } // Проверить корректность срока. if (!Docflow.PublicFunctions.Module.CheckDeadline(assignee, e.NewValue, Calendar.Now)) { e.AddError(RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanToday); } }
public override void RegistrationDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { base.RegistrationDateValueInput(e); if (e.NewValue != null && e.NewValue >= Calendar.SqlMinValue) { if (Functions.ContractStatement.HaveDuplicates(_obj, _obj.BusinessUnit, _obj.RegistrationNumber, e.NewValue, _obj.Counterparty, _obj.LeadingDocument)) { e.AddWarning(Contracts.ContractualDocuments.Resources.DuplicatesDetected + Contracts.ContractualDocuments.Resources.FindDuplicates, _obj.Info.Properties.LeadingDocument, _obj.Info.Properties.Counterparty, _obj.Info.Properties.BusinessUnit, _obj.Info.Properties.RegistrationNumber, _obj.Info.Properties.RegistrationDate); } } this._obj.State.Properties.RegistrationDate.HighlightColor = Sungero.Core.Colors.Empty; }
public override void DateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { base.DateValueInput(e); if (e.NewValue != null && e.NewValue >= Calendar.SqlMinValue) { if (Functions.IncomingInvoice.HaveDuplicates(_obj, _obj.DocumentKind, _obj.Number, e.NewValue, _obj.TotalAmount, _obj.Currency, _obj.Counterparty)) { e.AddWarning(IncomingInvoices.Resources.DuplicateDetected, _obj.Info.Properties.DocumentKind, _obj.Info.Properties.Number, _obj.Info.Properties.Date, _obj.Info.Properties.TotalAmount, _obj.Info.Properties.Currency, _obj.Info.Properties.Counterparty); } } this._obj.State.Properties.Date.HighlightColor = Sungero.Core.Colors.Empty; }
public virtual void NewDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e) { // Не давать указывать срок меньше, чем сейчас. if (e.NewValue.HasValue) { // Проводить валидацию на конец дня, если указана дата без времени. if (!Docflow.PublicFunctions.Module.CheckDeadline(_obj.Addressee ?? Users.Current, e.NewValue.Value, Calendar.Now)) { e.AddError(VerificationAssignments.Resources.ImpossibleSpecifyDeadlineLessThenToday, _obj.Info.Properties.NewDeadline); } if (_obj.Addressee != null) { var checkMessageText = Docflow.PublicFunctions.Module.CheckDeadlineByWorkCalendar(Users.Current, e.NewValue); if (!string.IsNullOrEmpty(checkMessageText)) { e.AddWarning(checkMessageText, _obj.Info.Properties.NewDeadline); } } } }