Пример #1
0
        public bool TryEditFullDayDetalization(DateTime?workDate, string id, FullDayDetalization detalization)
        {
            var isEdit = false;

            store.ModifyById <Employee>(id, employee =>
            {
                var isUnique        = true;
                var oldDetalization =
                    employee.FullDayDetalizations.FirstOrDefault(d => d.WorkDate?.Date == workDate?.Date);

                if (!IsUniqueWorkFullDayDate(detalization, employee) && workDate?.Date != detalization.WorkDate?.Date)
                {
                    notUniqueDate();
                    isUnique = false;
                }

                if (oldDetalization != null && isUnique)
                {
                    var diffHours           = detalization.WorkHours - oldDetalization.WorkHours;
                    employee.HoursFullDays += diffHours;

                    oldDetalization.Payment   = detalization.Payment;
                    oldDetalization.RestDate  = detalization.RestDate;
                    oldDetalization.WorkHours = detalization.WorkHours;
                    oldDetalization.WorkDate  = detalization.WorkDate;
                    oldDetalization.Used      = detalization.Used;
                    oldDetalization.Comment   = detalization.Comment;
                    isEdit = true;
                }
            });
            return(isEdit);
        }
Пример #2
0
        public bool TryAddFullDayDetalization(string id, FullDayDetalization detalization)
        {
            var isAdd = true;

            store.ModifyById <Employee>(id, employee =>
            {
                if (!IsUniqueWorkFullDayDate(detalization, employee))
                {
                    notUniqueDate();
                    isAdd = false;
                    return;
                }

                employee.FullDayDetalizations.Add(new FullDayDetalization
                {
                    ID        = Guid.NewGuid().ToString(),
                    WorkDate  = detalization.WorkDate,
                    Payment   = detalization.Payment,
                    WorkHours = detalization.WorkHours,
                    Used      = detalization.Used,
                    RestDate  = detalization.RestDate,
                    Comment   = detalization.Comment
                });
                employee.HoursFullDays += detalization.WorkHours;
            });

            return(isAdd);
        }
Пример #3
0
 private bool IsUniqueWorkFullDayDate(FullDayDetalization detalization, Employee employee)
 {
     return(employee.FullDayDetalizations.All(d => d.WorkDate?.Date != detalization?.WorkDate?.Date));
 }
 public AddFullDayDetalizationDataForm(FullDayDetalization Detalization, string headName)
 {
     InitializeComponent();
     Text = headName;
     this.Detalization = Detalization;
 }