Ejemplo n.º 1
0
        public JsonResult AddEClaim(EclaimUnits claimUnits, string userCode, string description)
        {
            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 eclaims = _unisolApiProxy.AddEClaim(claimUnits, userCode, description).Result;
            var jdata   = JsonConvert.DeserializeObject <ReturnData <dynamic> >(eclaims);

            return(Json(jdata));
        }
Ejemplo n.º 2
0
        public JsonResult AddEClaim(EclaimUnits eclaimUnits, string userCode, string description)
        {
            var eclaims = _staffServices.AddEClaim(eclaimUnits, userCode, description);

            return(Json(eclaims));
        }
Ejemplo n.º 3
0
        public ReturnData <string> AddEClaim(EclaimUnits eclaimUnits, string userCode, string description)
        {
            description = description ?? "";
            try
            {
                var claimRef = GenerateRefNo();
                eclaimUnits.Ecref = claimRef;
                var procOnlineReq = new ProcOnlineReq
                {
                    ReqRef   = claimRef,
                    DocType  = "IMPREST WARRANT",
                    Rdate    = DateTime.UtcNow,
                    Rtime    = DateTime.UtcNow,
                    Usercode = userCode,
                    Status   = "Pending"
                };

                var docId = _unitOfWork.Wfrouting.GetFirstOrDefault(r => r.Document.ToUpper() == procOnlineReq.DocType.ToUpper())?.Id.ToString();
                if (string.IsNullOrEmpty(docId))
                {
                    return new ReturnData <string>
                           {
                               Success = false,
                               Message = "Sorry, " + procOnlineReq.DocType.ToUpper() + " Not supported at the moment. Please contact the admin"
                           }
                }
                ;

                var user           = _unitOfWork.HrpEmployee.GetFirstOrDefault(e => e.EmpNo.ToUpper().Equals(userCode.ToUpper()));
                var workFlowStatus = utils.SaveToWorkFlowCenter(procOnlineReq, user, docId);
                if (!workFlowStatus.Success)
                {
                    return(workFlowStatus);
                }

                _unitOfWork.EclaimUnits.Add(eclaimUnits);
                _unitOfWork.Eclaim.Add(new Eclaim
                {
                    Ecref       = claimRef,
                    PayeeRef    = userCode,
                    Description = description.ToUpper(),
                    Status      = "Pending",
                    Rdate       = DateTime.UtcNow,
                    Personnel   = userCode,
                    Amount      = eclaimUnits.Amount,
                    Names       = $"{user.Title} {user.Names}"
                });

                _unitOfWork.Save();
                return(new ReturnData <string>
                {
                    Success = true,
                    Message = "Expense claim added successfully"
                });
            }
            catch (Exception e)
            {
                return(new ReturnData <string>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                });
            }
        }
Ejemplo n.º 4
0
        public Task <string> AddEClaim(EclaimUnits eclaimUnits, string userCode, string description)
        {
            var response = Post("eClaims/addEClaim?userCode=" + userCode + "&description=" + description, eclaimUnits);

            return(response);
        }