public JsonResult OutOfOffice(OutOfOffice outOfOffice) { try { if (string.IsNullOrEmpty(outOfOffice.Reason)) { return(Json(new ReturnData <string> { Success = false, Message = "Kindly provide the reason" })); } if (outOfOffice.From == null) { return(Json(new ReturnData <string> { Success = false, Message = "Kindly select start date" })); } if (outOfOffice.To == null) { return(Json(new ReturnData <string> { Success = false, Message = "Kindly select end date" })); } if (outOfOffice.From < DateTime.UtcNow.AddHours(3)) { return(Json(new ReturnData <string> { Success = false, Message = "Start date must be greater than today" })); } if (outOfOffice.To < outOfOffice.From) { return(Json(new ReturnData <string> { Success = false, Message = "end date must be greater than start" })); } outOfOffice.Status = "Pending"; var result = _unisolApiProxy.GetStaffData(outOfOffice.EmpNo).Result; var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData; outOfOffice.Supervisor = response.Data?.supervisor ?? ""; _context.OutOfOffice.Add(outOfOffice); _context.SaveChanges(); return(Json(new ReturnData <string> { Success = true, Message = "Submitted sucessfully" })); } catch (Exception) { return(Json(new ReturnData <string> { Success = false, Message = "Sorry, An error occurred" })); } }
public void Init() { instance = new OutOfOffice(); }