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)); }
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()); }