Exemple #1
0
 private void btn_UpdateOrdersAddress_Click(object sender, EventArgs e)
 {
     MsSqlDbExplorer dbExplorer = new MsSqlDbExplorer();
     var             result     = dbExplorer.Orders_UpdateAddressAndOrderId
                                  (
         "lebyzhiy_1234567890",
         DateTime.Now,
         "*****@*****.**",
         "*****@*****.**",
         "+375297776177",
         7,
         Guid.NewGuid().ToString()
                                  );
 }
        public OrderPayment(OrderPaymentRequestFrontEnd request, string sessionInfo, ProjectConfigData configData)
        {
            response = new OrderPaymentResponseBackEnd();
            if (String.IsNullOrEmpty(request.requestId))
            {
                response.requestId = Guid.NewGuid().ToString();
            }
            else
            {
                response.requestId = request.requestId;
            }

            try
            {
                if (!String.IsNullOrEmpty(request.orderNumber) && !String.IsNullOrEmpty(request.mainEmail))
                {
                    string pattern     = @"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
                    Regex  r           = new Regex(pattern, RegexOptions.IgnoreCase);
                    bool   mainMatched = r.Match(request.mainEmail).Success; // true в случае подтверждения совпадения

                    bool backupMatched = false;
                    if (!String.IsNullOrEmpty(request.backupEmail))
                    {
                        backupMatched = r.Match(request.backupEmail).Success; // true в случае подтверждения совпадения
                    }
                    if (mainMatched || backupMatched)
                    {
                        // 1. Вычитать данные по заказу и извлечь его параметры
                        int    amount;
                        Int16  currency;
                        string description;

                        MsSqlDbExplorer msSqlDbExplorer = new MsSqlDbExplorer();

                        // извлекаем данные по заказу для формирования запроса в банк
                        if (msSqlDbExplorer.Orders_GetReservedOrderInfo(request.orderNumber, out amount, out currency, out description) && amount > 0 && currency > 0 && String.IsNullOrEmpty(description))
                        {
                            // 2. Зарезервировать в банке заказ

                            BillingBGPB billingBGPB = new BillingBGPB();
                            billingBGPB.Register(request.orderNumber, description, amount, new ProjectConfigData());

                            var registerResponse = JsonConvert.DeserializeObject <RegisterResult>(billingBGPB.Answer);

                            if (registerResponse.errorCode == 0) // заказ на оплату принят
                            {
                                if (msSqlDbExplorer.Orders_UpdateAddressAndOrderId(request.orderNumber, DateTime.Now, request.mainEmail, request.backupEmail, request.phone, request.messangers, registerResponse.orderId))
                                {
                                    response.errorCode = 0;
                                    response.formUrl   = registerResponse.formUrl;
                                    response.orderId   = registerResponse.orderId;
                                }
                                else
                                {
                                    response.errorCode = 7;
                                }
                            }
                            else
                            {
                                if (msSqlDbExplorer.Orders_UpdateAddressAndOrderId(request.orderNumber, DateTime.Now, request.mainEmail, request.backupEmail, request.phone, request.messangers, registerResponse.orderId))
                                {
                                    response.errorCode = (byte)registerResponse.errorCode; ///////////////////////////////////////////////////////
                                    response.formUrl   = registerResponse.formUrl;
                                    response.orderId   = registerResponse.orderId;
                                }
                                else
                                {
                                    response.errorCode = 7;
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exc)
            {
            }
        }