public async Task <JsonResult> AjaxMethod(string name, string leave_id) { var currentuser = User.Identity.Name; var currentuserId = _context.AllUser.Where(x => x.Email == currentuser).FirstOrDefault().id; int leave_id_int = int.Parse(leave_id); var leave = _context.LeaveHistory.Include(x => x.AllUser).Include(x => x.leaveType).Where(x => x.leave_id == leave_id_int).FirstOrDefault(); leave.RegistrarApproveStatus = name; leave.LeaveStatus = name; leave.approved_id = currentuserId; UserEmail userEmail = new UserEmail { ToEmail = leave.AllUser.Email, }; var arr = new List <KeyValuePair <string, string> >(); var leavereason = new KeyValuePair <string, string>("{{leavereason}}", leave.LeaveReason); var leavestart = new KeyValuePair <string, string>("{{leavestart}}", leave.StartFrome.ToString()); var leaveend = new KeyValuePair <string, string>("{{leaveend}}", leave.EndTill.ToString()); var leavetype = new KeyValuePair <string, string>("{{leavetype}}", leave.leaveType.LeaveType); var leavestatus = new KeyValuePair <string, string>("{{leavestatus}}", leave.LeaveStatus); //temp.Key = "username"; //temp.Value = "*****@*****.**"; arr.Add(leavereason); arr.Add(leavestart); arr.Add(leaveend); arr.Add(leavetype); arr.Add(leavestatus); userEmail.PlaceHolder = arr; await emailService.LeaveStatusChangeEmail(userEmail); if (name == "Accepted") { var allocation = _context.leaveAllocation.Where(x => x.id == leave.id && x.leaveTypeID == leave.leaveTypeID).FirstOrDefault(); allocation.NoOfLeave -= leave.NoOfDay; _context.Update(allocation); _context.SaveChanges(); } //try //{ _context.Update(leave); await _context.SaveChangesAsync(); //} //catch (Exception e) //{ // throw; //} return(Json(leave)); }
public bool addtoallocation(string email, string oldvalue, int noofday) { int sum = 0; var z = _context.leaveAllocation.Include(x => x.leaveType).Include(x => x.AllUser) .Where(x => x.leaveType.LeaveType == oldvalue && x.AllUser.Email == email).FirstOrDefault(); z.NoOfLeave -= noofday; _context.Update(z); _context.SaveChanges(); return(true); }