コード例 #1
0
        public void SimpleTestForOneList(bool expected, int start, int end)
        {
            var list = new List <Leave>()
            {
                new Leave {
                    StartDate = new DateTime(2019, 1, start), EndDate = new DateTime(2019, 1, end)
                }
            };

            Assert.Equal(expected, ValidatorLeaveLists.ValidateLeaves(list));
        }
コード例 #2
0
        public void NormalTestForOneList(bool expected, int start1, int end1, int start2, int end2)
        {
            var list = new List <Leave>()
            {
                new Leave {
                    StartDate = new DateTime(2019, 1, start1), EndDate = new DateTime(2019, 1, end1)
                },
                new Leave {
                    StartDate = new DateTime(2019, 1, start2), EndDate = new DateTime(2019, 1, end2)
                }
            };

            Assert.Equal(expected, ValidatorLeaveLists.ValidateLeaves(list));
        }
コード例 #3
0
        public void TestForTwoLists(bool expected, int start1, int end1, int start2, int end2, int start3, int end3)
        {
            var first = new List <Leave>()
            {
                new Leave {
                    StartDate = new DateTime(2019, 1, start1), EndDate = new DateTime(2019, 1, end1)
                },
                new Leave {
                    StartDate = new DateTime(2019, 1, start2), EndDate = new DateTime(2019, 1, end2)
                }
            };
            var second = new List <Leave>()
            {
                new Leave {
                    StartDate = new DateTime(2019, 1, start3), EndDate = new DateTime(2019, 1, end3)
                }
            };

            Assert.Equal(expected, ValidatorLeaveLists.MergingListsValidly(first, second));
        }
コード例 #4
0
        public ActionResult UpdateLeaves(int id, [FromBody] List <Leave> leaves)
        {
            var user = db.Employee
                       .Include(e => e.Leave)
                       .Single(V => V.EmployeeId == id);

            if (leaves != null && user != null)
            {
                foreach (var leave in leaves)
                {
                    var temp = user.Leave.SingleOrDefault(li => li.LeaveId == leave.LeaveId);
                    if (temp != null)
                    {
                        temp.StartDate = leave.StartDate;
                        temp.EndDate   = leave.EndDate;
                        temp.TypeLeave = leave.TypeLeave;
                        db.Leave.Update(temp);
                    }
                    else
                    {
                        return(BadRequest());
                    }
                }

                if (!ValidatorLeaveLists.ValidateLeaves(user.Leave.ToList()))
                {
                    return(BadRequest());
                }
            }
            else
            {
                return(NotFound());
            }

            db.SaveChanges();
            return(Ok());
        }
コード例 #5
0
        public ActionResult SetLeaves(int id, [FromBody] List <LeaveDto> leavesDto)
        {
            var user = db.Employee
                       .Include(e => e.Leave)
                       .SingleOrDefault(V => V.EmployeeId == id);

            if (leavesDto != null && user != null)
            {
                var leaves = new List <Leave>();
                foreach (var leave in leavesDto)
                {
                    leaves.Add(new Leave {
                        TypeLeave = leave.TypeLeave, StartDate = leave.StartDate, EndDate = leave.EndDate
                    });
                }

                if (ValidatorLeaveLists.MergingListsValidly(leaves, user.Leave.ToList()))
                {
                    foreach (var leave in leaves)
                    {
                        user.Leave.Add(leave);
                    }
                }
                else
                {
                    return(BadRequest());
                }
            }
            else
            {
                return(NotFound());
            }

            db.SaveChanges();
            return(Ok());
        }