コード例 #1
0
        public bool TryEditPartialDayDetalization(DateTime?workDate, string id, PartialDayDetalization detalization)
        {
            var isEdit = false;

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

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

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

                    oldDetalization.WorkHours = detalization.WorkHours;
                    oldDetalization.WorkDate  = detalization.WorkDate;
                    oldDetalization.Used      = detalization.Used;
                    oldDetalization.Comment   = detalization.Comment;
                    isEdit = true;
                }
            });
            return(isEdit);
        }
コード例 #2
0
        public bool TryAddPartialDayDetalization(string id, PartialDayDetalization detalization)
        {
            var isAdd = true;

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

                employee.PartialDayDetalization.Add(new PartialDayDetalization
                {
                    ID        = Guid.NewGuid().ToString(),
                    WorkDate  = detalization.WorkDate,
                    WorkHours = detalization.WorkHours,
                    Used      = detalization.Used,
                    Comment   = detalization.Comment
                });
                employee.HoursPartialDays += detalization.WorkHours;
            });

            return(isAdd);
        }
コード例 #3
0
 private bool IsUniqueWorkPartialDayDate(PartialDayDetalization detalization, Employee employee)
 {
     return(employee.PartialDayDetalization.All(d => d.WorkDate?.Date != detalization?.WorkDate?.Date));
 }
コード例 #4
0
 public AddPartialDayDetalizationDataForm(PartialDayDetalization Detalization, string headName)
 {
     this.Detalization = Detalization;
     InitializeComponent();
     Text = headName;
 }