Ejemplo n.º 1
0
        public JsonResult SaveImprest(ImprestReq imprestReq)
        {
            imprestReq.MemoRef = imprestReq.MemoRef ?? "";
            try
            {
                imprestReq.MemoRef = imprestReq.MemoRef.Trim();
                var token = _tokenValidator.Validate(HttpContext);
                if (!token.Success)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        NotAuthenticated = true,
                        Message = $"Unauthorized:-{token.Message}",
                    }));
                }

                if (token.Role != Role.Staff)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        NotAuthenticated = true,
                        Message = "Sorry, you are not authorized to perform this action",
                    }));
                }

                var createResults = _unisolApiProxy.SaveImprest(imprestReq).Result;
                var jdata         = JsonConvert.DeserializeObject <ReturnData <string> >(createResults);
                return(Json(jdata));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    Message = "Sorry,an error occured,please try again",
                    Error = new Error(ex)
                }));
            }
        }
Ejemplo n.º 2
0
        public JsonResult SaveEmployeeImprest(ImprestReq imprestReq)
        {
            try
            {
                imprestReq.Rdate    = DateTime.Today;
                imprestReq.Usercode = imprestReq.EmpNo;
                var user = _context.HrpEmployee.FirstOrDefault(u => u.EmpNo == imprestReq.EmpNo);
                if (_studentServices.CheckIfGenesis().Data)
                {
                    var memo = _context.ImprestMemo.Any(m => m.Ref.ToUpper().Equals(imprestReq.MemoRef.ToUpper()) &&
                                                        m.Status.ToUpper().Equals("APPROVED"));
                    if (!memo)
                    {
                        return(Json(new ReturnData <string>
                        {
                            Success = false,
                            Message = "Sorry, Only approved memos can be used to request for an imprest. Kindly contact admin"
                        }));
                    }

                    var memoDetails = _context.ImprestMemoDetail.Any(d => d.EmpNo.ToUpper().Equals(imprestReq.EmpNo.ToUpper()) &&
                                                                     d.Ref.ToUpper().Equals(imprestReq.MemoRef.ToUpper()));

                    if (!memoDetails)
                    {
                        return(Json(new ReturnData <string>
                        {
                            Success = false,
                            Message = $"{user.Names} is not one of the participants on the Memo reference number entered."
                        }));
                    }
                }

                var message = "";
                if (imprestReq.Amount < 0)
                {
                    message = "Amount must be greater than 0";
                }

                if (Convert.ToDateTime(imprestReq.Edate).Date < DateTime.Now.Date)
                {
                    message = "Expected date should be greater than today";
                }

                var imprestNumber = getImprestNumber();

                var procOnlineReq = new ProcOnlineReq
                {
                    ReqRef   = imprestNumber,
                    DocType  = "IMPREST WARRANT",
                    Rdate    = DateTime.Today,
                    Rtime    = DateTime.UtcNow.AddHours(3),
                    Usercode = user.EmpNo,
                    Status   = "Pending",
                };

                //var wfRouting = _staffServices.GetWfRouting(procOnlineReq.DocType);
                //if (!wfRouting.Success)
                //	return Json(wfRouting);

                //if (string.IsNullOrEmpty(wfRouting.Data.Id.ToString()))
                //	return Json(wfRouting);

                //var workFlowStatus = utils.SaveToWorkFlowCenter(procOnlineReq, user, wfRouting.Data.Id.ToString());
                //if (!workFlowStatus.Success)
                //	return Json(workFlowStatus);

                _context.ImprestReq.Add(imprestReq);
                _context.SaveChanges();
                message = "Your imprest has been successfully saved";

                return(Json(new ReturnData <string>
                {
                    Success = true,
                    Message = message
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <bool>
                {
                    Success = false,
                    Message = "Oops,seems like an error occurred while processing your request",
                    Error = new Error(ex)
                }));
            }
        }
Ejemplo n.º 3
0
        public Task <string> SaveImprest(ImprestReq imprestReq)
        {
            var response = Post("imprest/SaveEmployeeImprest/", imprestReq);

            return(response);
        }