public ActionResult UpdateMemo()
        {
            CreateResponse  svcresp = new CreateResponse();
            CreateResponse  details = new CreateResponse();
            CreateMemoModel up      = new CreateMemoModel();

            details = (CreateResponse)Session["RequestDetails"];

            up.Fullname     = details.status == 1 ? details.SignatoryList[0].Name : details.status == 2 ? details.SignatoryList[1].Name : details.status == 3 ? details.SignatoryList[2].Name : string.Empty;
            up.MemoSeries   = details.details.DebtCredNo;
            up.Status       = Convert.ToInt32(details.status);
            up.OperatorName = details.details.OperatorName;
            up.IRNumber     = details.details.IRNo;
            svcresp.data    = up;
            log.Info(JsonConvert.SerializeObject(svcresp.data, Formatting.None).ToString());

            byte[] data       = UTF8Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(svcresp));
            var    source     = new System.Uri(service + "/UpdateMemo");
            var    reqHandler = new RequestHandler("POST", source, "application/json", data);
            var    response   = reqHandler.HttpPostRequest();

            svcresp = Newtonsoft.Json.JsonConvert.DeserializeObject <CreateResponse>(response);
            if (!response.Contains("200"))
            {
                log.Info(response.ToString());
                if (svcresp.ResponseCode == 400)
                {
                    return(Json(new { status = svcresp.ResponseCode, msg = svcresp.ResponsMessage }));
                }
                else
                {
                    return(Json(new { status = "5000", msg = "System encountered an error. Please retry or contact admin." }));
                }
            }
            else
            {
                log.Info(JsonConvert.SerializeObject(svcresp, Formatting.None).ToString());
                return(Json(new { status = svcresp.ResponseCode, msg = svcresp.ResponsMessage }));
            }
        }
        public JsonResult CreateMemo(HomeViewModel mod, string fileBase64)
        {
            XmlConfigurator.Configure();

            string bts; byte[] file;
            string fileType;

            if (fileBase64 == null || fileBase64 == "")
            {
                bts      = null;
                fileType = null;
            }
            else
            {
                if (fileBase64.Contains("application/msword"))
                {
                    bts = fileBase64.Remove(0, 31); fileType = fileBase64.Substring(0, 31);
                }
                else if (fileBase64.Contains("application/vnd"))
                {
                    bts = fileBase64.Remove(0, 84); fileType = fileBase64.Substring(0, 84);
                }
                else
                {
                    bts = fileBase64.Remove(0, 28); fileType = fileBase64.Substring(0, 28);
                }
                file = System.Convert.FromBase64String(bts);
            }

            CreateMemoModel mem  = new CreateMemoModel();
            CreateResponse  resp = new CreateResponse();

            mem.IRNumber         = mod.IRNo;
            mem.TransactionType  = mod.DebitCredit;
            mem.TransactionDate1 = mod.TransactionDate1;
            mem.TransactionDate2 = mod.TransactionDate2;
            mem.TransactionDate2 = mod.TransactionDate2;
            mem.Reason1          = (mod.WrongAmount).Equals(true) ? "WrongAmount" : null;
            mem.Reason2          = (mod.Erroneous).Equals(true) ? "Erroneous" : null;
            mem.Reason3          = (mod.SystemError).Equals(true) ? "SystemError" : null;
            mem.ReferenceNo1     = !String.IsNullOrEmpty(mod.refno1) ? mod.refno1 : null;
            mem.ReferenceNo2     = !String.IsNullOrEmpty(mod.refno2) ? mod.refno2 : null;
            mem.ReferenceNo3     = !String.IsNullOrEmpty(mod.refno3) ? mod.refno3 : null;
            mem.WalletUser       = mod.WalletUser;
            mem.WalletID         = mod.WalletID;
            mem.WrongAmount      = mod.IncorrectAmount;
            mem.CorrectAmount    = mod.CorrectAmount;
            mem.AdjustedAmount   = mod.AdjustAmount;
            mem.OperatorName     = Session["user"].ToString();
            mem.File             = bts;
            mem.FileType         = fileType;

            resp.data = mem;

            byte[] data       = UTF8Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(resp));
            var    source     = new System.Uri(service + "/CreateMemo");
            var    reqHandler = new RequestHandler("POST", source, "application/json", data);
            var    response   = reqHandler.HttpPostRequest();

            if (!response.Contains("200"))
            {
                log.Info(response.ToString());
                return(Json(new { status = "5000", msg = "System encountered an error. Please retry or contact admin." }));
            }
            else
            {
                resp = Newtonsoft.Json.JsonConvert.DeserializeObject <CreateResponse>(response);
                log.Info(JsonConvert.SerializeObject(resp, Formatting.None).ToString());
                return(Json(new { status = resp.ResponseCode, msg = resp.ResponsMessage }));
            }
        }