public async Task <ActionResult <LeaveRequest> > PostLeaveRequest(LeaveRequestVM LeaveRequestObj) { System.Security.Claims.ClaimsPrincipal currentUser = this.User; var email = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value; var lstUsers = _context.Employees.Where(e => e.Email == email).ToList(); if (lstUsers.Count > 0) { var CurrentEmpUser = lstUsers[0]; if (LeaveRequestObj.EmployeeID == 0) { LeaveRequestObj.EmployeeID = CurrentEmpUser.ID; } LeaveRequestObj.Date = DateTime.Now; LeaveRequest lv = new LeaveRequest { Date = LeaveRequestObj.Date, Comment = LeaveRequestObj.Comment, AlternativeEmpID = LeaveRequestObj.AlternativeEmpID, EmployeeID = LeaveRequestObj.EmployeeID, LeaveTypeID = LeaveRequestObj.LeaveTypeID, AlternativeAddress = LeaveRequestObj.AlternativeAddress, Start = LeaveRequestObj.Start, Status = LeaveRequestObj.Status, Days = LeaveRequestObj.Days }; _context.LeaveRequests.Add(lv); await _context.SaveChangesAsync(); if (LeaveRequestObj.LeavesFiles != null) { var files = LeaveRequestObj.LeavesFiles.Split(',').ToList(); files.Remove(""); foreach (var item in files) { LeaveFiles leaveFiles = new LeaveFiles { FileName = item, LeaveRequestID = lv.ID }; _context.LeaveFiles.Add(leaveFiles); } } await _context.SaveChangesAsync(); } return(CreatedAtAction("GetLeaveRequest", new { id = LeaveRequestObj.ID }, LeaveRequestObj)); }
public async Task <IActionResult> PutLeaveRequest(int id, LeaveRequestVM LeaveRequestObj) { if (id != LeaveRequestObj.ID) { return(BadRequest()); } System.Security.Claims.ClaimsPrincipal currentUser = this.User; var email = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value; var lstUsers = _context.Employees.Where(e => e.Email == email).ToList(); if (lstUsers.Count > 0) { var CurrentEmpUser = lstUsers[0]; if (LeaveRequestObj.EmployeeID == 0) { LeaveRequestObj.EmployeeID = CurrentEmpUser.ID; } LeaveRequestObj.Date = DateTime.Now; LeaveRequest lv = new LeaveRequest { ID = LeaveRequestObj.ID, Date = LeaveRequestObj.Date, Comment = LeaveRequestObj.Comment, AlternativeEmpID = LeaveRequestObj.AlternativeEmpID, EmployeeID = LeaveRequestObj.EmployeeID, LeaveTypeID = LeaveRequestObj.LeaveTypeID, AlternativeAddress = LeaveRequestObj.AlternativeAddress, Start = LeaveRequestObj.Start, Status = LeaveRequestObj.Status, Days = LeaveRequestObj.Days }; _context.Entry(lv).State = EntityState.Modified; await _context.SaveChangesAsync(); if (LeaveRequestObj.LeavesFiles != null) { var files = LeaveRequestObj.LeavesFiles.Split(',').ToList(); files.Remove(""); foreach (var item in files) { LeaveFiles leaveFiles = new LeaveFiles { FileName = item, LeaveRequestID = lv.ID }; _context.LeaveFiles.Add(leaveFiles); } } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!LeaveRequestExists(id)) { return(NotFound()); } else { throw; } } } return(NoContent()); }