コード例 #1
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));
        }
コード例 #2
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());
        }