Exemplo n.º 1
0
        private static Bill GeneratePrivatBankBill(FormCollection collection)
        {
            BankBill bill = new BankBill();

            bill.Account = collection["account"];
            bill.EDRPOU  = collection["edrpou"];
            bill.MFO     = collection["mfo"];

            return(bill);
        }
Exemplo n.º 2
0
 public BankBillViewModel(BankBill bank)
 {
     Id              = bank.Id;
     Mfo             = bank.Mfo;
     BankName        = bank.BankName;
     BankNameEng     = bank.BankNameEng;
     IsPrimary       = bank.IsPrimary;
     BillNumber      = bank.BillNumber;
     ContragentId    = bank.ContragentId;
     IsResident      = bank.IsResident;
     IsCorrespondent = bank.IsCorrespondent;
     Iban            = bank.Iban;
     Swift           = bank.Swift;
     Address         = bank.Address;
     AddressEng      = bank.AddressEng;
 }
        public HttpResponseMessage Post([FromBody] Bill bill)
        {
            DateTime changeTime = DateTime.Now;

            WebmoneyBill wmBill = bill as WebmoneyBill;
            BankBill     pbBill = bill as BankBill;

            using (SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
            {
                StringBuilder cmdBuilder = new StringBuilder("");
                cmdBuilder.Append("INSERT INTO Bills VALUES(@AppId, @AdvancePercent, @Price, @StatusChangeTime, @Currency, @Type, @AdvanceDeadline, @MainDeadline, @DetailsId);");
                cmdBuilder.Append("UPDATE Applications SET STATUS='ADVANCE_PENDING' WHERE ID=@AppId;");

                Dictionary <string, object> values = new Dictionary <string, object>();

                bill.StatusChangeTime = changeTime;

                values.Add("@AppId", bill.ApplicationId);
                values.Add("@AdvancePercent", bill.AdvancePercent);
                values.Add("@Price", bill.Price);
                values.Add("@StatusChangeTime", bill.StatusChangeTime);
                values.Add("@Currency", bill.Currency);
                values.Add("@AdvanceDeadline", bill.AdvanceTimeLimit);
                values.Add("@MainDeadline", bill.MainTimeLimit);

                if (wmBill != null)
                {
                    cmdBuilder = cmdBuilder.Replace("@DetailsId", "IDENT_CURRENT('Webmoney_Details') + 1");
                    cmdBuilder.Append("INSERT INTO Webmoney_Details VALUES(@Purse);");

                    values.Add("@Type", "WEBMONEY");
                    values.Add("@Purse", wmBill.WM_Purse);
                }
                else if (pbBill != null)
                {
                    cmdBuilder = cmdBuilder.Replace("@DetailsId", "IDENT_CURRENT('Bank_Details') + 1");
                    cmdBuilder.Append("INSERT INTO Bank_Details VALUES(@Account, @EDRPOU, @MFO);");

                    values.Add("@Type", "BANK");
                    values.Add("@Account", pbBill.Account);
                    values.Add("@EDRPOU", pbBill.EDRPOU);
                    values.Add("@MFO", pbBill.MFO);
                }

                SqlCommand cmd = new SqlCommand(cmdBuilder.ToString(), connection);

                foreach (var kvp in values)
                {
                    cmd.Parameters.AddWithValue(kvp.Key, kvp.Value);
                }

                connection.Open();
                SqlTransaction transaction = connection.BeginTransaction();
                cmd.Transaction = transaction;

                try
                {
                    cmd.ExecuteNonQuery();
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
                }
            }

            return(Request.CreateResponse(HttpStatusCode.OK, "OK"));
        }