Exemplo n.º 1
0
        public static string DoMandateCreation(string createMandateStr)
        {
            Serializer            ser           = new Serializer();
            string                xmlOutputData = string.Empty;
            string                responseCode  = string.Empty;
            DateTime              requestTime   = DateTime.Now;
            CreateMandateResponse objResp       = new CreateMandateResponse();

            try
            {
                CreateMandateRequest obj = ser.Deserialize <CreateMandateRequest>(createMandateStr);
                if (obj != null)
                {
                    if (!string.IsNullOrEmpty(obj.BillerID) || !string.IsNullOrEmpty(obj.BillerName) || !string.IsNullOrEmpty(obj.BillerTransId) || !string.IsNullOrEmpty(obj.AcctName) || !string.IsNullOrEmpty(obj.AcctNumber) || !string.IsNullOrEmpty(obj.BankCode))
                    {
                        MandateLog mlog = new MandateLog()
                        {
                            AccountName   = obj.AcctName,
                            BankCode      = obj.BankCode,
                            AccountNumber = obj.AcctNumber,
                            BillerId      = obj.BillerID,
                            BillerName    = obj.BillerName,
                            BillerTransId = obj.BillerTransId,
                            DateCreated   = DateTime.Now,
                            HashValue     = obj.HashValue,
                            TransType     = obj.TransType
                        };

                        bool isSaved = MandateRepo.SaveMandate(mlog);

                        responseCode = isSaved ? ResponseCodeMap.Successful : ResponseCodeMap.UnknownError;

                        objResp = new CreateMandateResponse
                        {
                            AcctName      = obj.AcctName,
                            AcctNumber    = obj.AcctNumber,
                            BankCode      = obj.BankCode,
                            BillerID      = obj.BillerID,
                            BillerName    = obj.BillerName,
                            BillerTransId = obj.BillerTransId,
                            MandateCode   = isSaved ? mlog.MandateCode : "",
                            TransType     = obj.TransType,
                            ResponseCode  = responseCode
                        };
                    }
                    else
                    {
                        objResp = new CreateMandateResponse {
                            ResponseCode = ResponseCodeMap.InvalidXml
                        };
                    }
                }
                else
                {
                    objResp = new CreateMandateResponse {
                        ResponseCode = ResponseCodeMap.InvalidXml
                    };
                }
                xmlOutputData = ser.Serialize <CreateMandateResponse>(objResp);
            }
            catch (Exception e)
            {
                ExceptionLogRepo.SaveExceptionLog(e);
                xmlOutputData = ser.Serialize <CreateMandateResponse>(new CreateMandateResponse {
                    ResponseCode = ResponseCodeMap.InvalidXml
                });
            }
            DateTime responseTime = DateTime.Now;

            RequestResponseRepository.SaveRequestResponse("ASMX", createMandateStr, requestTime, "", xmlOutputData, responseTime);
            return(xmlOutputData);
        }