Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
 public virtual void ActualStartDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
 {
     if ((_obj.ActualFinishDate != null) && (e.NewValue > _obj.ActualFinishDate))
     {
         e.AddError(Projects.Resources.IncorrectStartDate, _obj.Info.Properties.ActualStartDate);
     }
 }
Exemplo n.º 3
0
 public virtual void EndDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
 {
     if ((_obj.StartDate != null) && (_obj.StartDate > e.NewValue))
     {
         e.AddError(Projects.Resources.IncorrectEndDate, _obj.Info.Properties.EndDate);
     }
 }
 public virtual void DatedValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
 {
     if (e.NewValue != null && e.NewValue < Calendar.SqlMinValue)
     {
         e.AddError(_obj.Info.Properties.Dated, Sungero.Docflow.OfficialDocuments.Resources.SetCorrectDate);
     }
 }
Exemplo n.º 5
0
        public virtual void FinalDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            this.CheckDeadline(e, Users.Current);

            if (!Docflow.PublicFunctions.Module.CheckDeadline(e.NewValue, Calendar.Now))
            {
                e.AddError(RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanToday);
            }
        }
Exemplo n.º 6
0
        public virtual void ValidTillValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            var errorText = Sungero.Docflow.Client.PowerOfAttorneyFunctions.CheckCorrectnessDaysToFinishWorks(e.NewValue, _obj.DaysToFinishWorks);

            if (!string.IsNullOrEmpty(errorText))
            {
                e.AddError(errorText);
            }
        }
Exemplo n.º 7
0
        public virtual void DeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            var assignee = _obj.Assignee ?? Users.Current;

            this.CheckDeadline(e, assignee);
            // Проверить корректность срока.
            if (!Docflow.PublicFunctions.Module.CheckDeadline(assignee, e.NewValue, Calendar.Now))
            {
                e.AddError(RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanToday);
            }
        }
Exemplo n.º 8
0
 public override void ValidTillValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
 {
     base.ValidTillValueInput(e);
     if (_obj.DaysToFinishWorks > 0 && e.NewValue != null)
     {
         TimeSpan daysRange       = e.NewValue.Value - Calendar.UserToday;
         var      maxDaysToFinish = daysRange.TotalDays;
         if (_obj.DaysToFinishWorks > maxDaysToFinish)
         {
             if (maxDaysToFinish > 0)
             {
                 e.AddError(Sungero.Contracts.ContractBases.Resources.DaysToFinishTooMatchFormat(maxDaysToFinish + 1));
             }
             else
             {
                 e.AddError(Sungero.Contracts.ContractBases.Resources.DocumentAlreadyFinish);
             }
         }
     }
 }
Exemplo n.º 9
0
 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(ExchangeDocumentProcessingAssignments.Resources.ImpossibleSpecifyDeadlineLessThenToday,
                        _obj.Info.Properties.NewDeadline);
         }
     }
 }
Exemplo n.º 10
0
        public virtual void RegistrationDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            if (e.NewValue != null && e.NewValue < Calendar.SqlMinValue)
            {
                e.AddError(_obj.Info.Properties.RegistrationDate, Sungero.Docflow.OfficialDocuments.Resources.SetCorrectDate);
                return;
            }

            if (e.NewValue != _obj.State.Properties.RegistrationDate.OriginalValue)
            {
                e.Params.AddOrUpdate(Sungero.Docflow.Constants.OfficialDocument.NeedValidateRegisterFormat, true);
            }
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        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);
            }
        }
Exemplo n.º 13
0
        public virtual void TrackingDeliveryDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            var deliveryDate = e.NewValue;

            if (Equals(deliveryDate, e.OldValue))
            {
                return;
            }

            if (_obj.ReturnDeadline < deliveryDate)
            {
                e.AddError(Docflow.Resources.ReturnDocumentDeliveryAndScheduledDate);
            }
            if (deliveryDate > _obj.ReturnDate)
            {
                e.AddError(Docflow.Resources.ReturnDocumentDeliveryAndReturnDate);
            }

            // Запретить изменение, если документ уже возвращен.
            if (_obj.State.Properties.ReturnDate.OriginalValue.HasValue)
            {
                e.AddError(Docflow.Resources.ChangingRecordDocumentReturnIsInadmissible);
            }
        }
Exemplo n.º 14
0
        public virtual void TrackingReturnDeadlineValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            if (Equals(e.NewValue, e.OldValue))
            {
                return;
            }

            if (_obj.DeliveryDate > e.NewValue)
            {
                e.AddError(Docflow.Resources.ReturnDocumentDeliveryAndScheduledDate);
            }

            if (_obj.Action == Docflow.OfficialDocumentTracking.Action.Endorsement)
            {
                e.AddError(Docflow.Resources.CantChangeReturnRowForEndorsementTask);
                return;
            }

            // Запретить изменение, если документ уже возвращен.
            if (_obj.State.Properties.ReturnDate.OriginalValue.HasValue)
            {
                e.AddError(Docflow.Resources.ChangingRecordDocumentReturnIsInadmissible);
            }
        }
Exemplo n.º 15
0
        public virtual void TrackingReturnDateValueInput(Sungero.Presentation.DateTimeValueInputEventArgs e)
        {
            if (Equals(e.NewValue, e.OldValue))
            {
                return;
            }

            if (_obj.DeliveryDate > e.NewValue)
            {
                e.AddError(Docflow.Resources.ReturnDocumentDeliveryAndReturnDate);
            }

            // Запретить изменение, если документ уже возвращен.
            if (_obj.State.Properties.ReturnDate.OriginalValue.HasValue)
            {
                e.AddError(Docflow.Resources.ChangingRecordDocumentReturnIsInadmissible);
            }

            // Запретить изменение, если документ был отправлен через сервис обмена.
            if (_obj.ExternalLinkId != null)
            {
                e.AddError(OfficialDocuments.Resources.CannotChangeTrackingSentByExchange);
            }
        }
Exemplo n.º 16
0
        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);
            }
        }
Exemplo n.º 17
0
        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);
            }
        }
Exemplo n.º 18
0
        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);
            }
        }
Exemplo n.º 19
0
        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);
                    }
                }
            }
        }
Exemplo n.º 20
0
        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);
            }
        }