예제 #1
0
        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"
                }));
            }
        }
예제 #2
0
 public void Init()
 {
     instance = new OutOfOffice();
 }