コード例 #1
0
        public virtual async Task <IHttpActionResult> SetShippingMethod(SetShippingMethodViewModel request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var checkoutUrl = GetCheckoutUrl();
            var homepageUrl = GetHomepageUrl();

            if (!request.UseCheapest)
            {
                return(new StatusCodeResult(HttpStatusCode.NotImplemented, this));
            }

            var vm = await ShippingMethodService.SetCheapestShippingMethodAsync(new SetCheapestShippingMethodParam
            {
                BaseUrl     = RequestUtils.GetBaseUrl(Request).ToString(),
                CartName    = CartConfiguration.ShoppingCartName,
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                Scope       = ComposerContext.Scope
            });

            SetCheckoutUrl(vm, checkoutUrl);
            SetHomepageUrl(vm, homepageUrl);
            SetEditCartUrl(vm);

            return(Ok(vm));
        }
コード例 #2
0
 public void Init()
 {
     shippingMethodService                 = new ShippingMethodService();
     shippingMethodService.Credentials     = new System.Net.NetworkCredential(WEBSERVICE_LOGIN, WEBSERVICE_PASSWORD);
     shippingMethodService.PreAuthenticate = true;
     shippingMethodService.Url             = WEBSERVICE_URL;
 }
コード例 #3
0
 public ShippingMethodController(
     ShippingMethodService shippingMethodService,
     IShippingRateProviderFactory shippingRateProviderFactory)
 {
     _shippingMethodService       = shippingMethodService;
     _shippingRateProviderFactory = shippingRateProviderFactory;
 }
コード例 #4
0
 protected void btnDelete_Click(object sender, EventArgs e)
 {
     ShippingMethodService.DeleteShippingMethod(ShippingMethodId);
     if (ShippingMethodService.GetShippingMethod(ShippingMethodId) == null)
     {
         Response.Redirect("~/Admin/ShippingMethod.aspx");
     }
 }
コード例 #5
0
        public async Task <IHttpActionResult> GetShippingMethodsScope()
        {
            var shippingMethodsViewModel = await ShippingMethodService.GetShippingMethodsScopeAsync(new GetShippingMethodsScopeParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo
            }).ConfigureAwait(false);

            return(Ok(shippingMethodsViewModel));
        }
コード例 #6
0
        public virtual async Task <IHttpActionResult> GetGroupedShippingMethods()
        {
            var shippingMethodTypesViewModel = await ShippingMethodService.GetShippingMethodTypesAsync(new GetShippingMethodsParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                CartName    = CartConfiguration.ShoppingCartName
            });

            return(Ok(shippingMethodTypesViewModel));
        }
コード例 #7
0
        public async Task <IHttpActionResult> GetShippingMethodsByCartName(GetShippingMethodsByCartNameViewModel request)
        {
            var shippingMethodsViewModel = await ShippingMethodService.GetRecurringCartShippingMethodsAsync(new GetShippingMethodsParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
                CustomerId  = ComposerContext.CustomerId,
                CartName    = request.CartName
            });

            return(Ok(shippingMethodsViewModel));
        }
コード例 #8
0
        public void LoadMethods(int selectedId)
        {
            CalculateShippingRates();
            SelectedId = selectedId;

            lvShippingRates.DataSource = _shippingRates;

            if (SelectedItem != null)
            {
                lvShippingRates.SelectedIndex = _shippingRates.FindIndex(p => p.MethodId == SelectedItem.MethodId && p.Id == SelectedId);
            }

            lvShippingRates.DataBind();

            divPickpoint.Visible = _shippingRates.Find(x => x.Ext != null && x.Ext.Type == ExtendedType.Pickpoint) != null;

            var multishipMethod = _shippingRates.Find(x => x.Type == ShippingType.Multiship);

            if (multishipMethod != null)
            {
                divMultiShip.Visible = true;

                var multiship = new Multiship(ShippingMethodService.GetShippingParams(multishipMethod.MethodId))
                {
                    ShoppingCart = ShoppingCart
                };

                var totalWeight = ShoppingCart.TotalShippingWeight;
                Weight = totalWeight != 0
                    ? totalWeight.ToString("F3").Replace(",", ".")
                    : multiship.WeightAvg.ToString("F3").Replace(",", ".");

                WidgetCode = multiship.WidgetCode;
                Cost       = (ShoppingCart.TotalPrice - ShoppingCart.TotalDiscount).ToString("F2").Replace(",", ".");

                foreach (var item in ShoppingCart)
                {
                    var sizeArr = item.Offer.Product.Size.Split('|');

                    var length = (int)Math.Ceiling(sizeArr[0].TryParseFloat() / 10);
                    var width  = (int)Math.Ceiling(sizeArr[1].TryParseFloat() / 10);
                    var height = (int)Math.Ceiling(sizeArr[2].TryParseFloat() / 10);

                    Dimensions += (Dimensions.IsNotEmpty() ? "," : "") +
                                  string.Format("[{0}, {1}, {2}, {3}]",
                                                length > 0 ? length : multiship.LengthAvg,
                                                width > 0 ? width : multiship.WidthAvg,
                                                height > 0 ? height : multiship.HeightAvg,
                                                item.Amount);
                }
            }
        }
コード例 #9
0
        private void LoadFormData(bool loadParameters)
        {
            if (Method == null)
            {
                return;
            }
            if (Method.ShippingMethodId == 1)
            {
                return;
            }

            ShippingMethodId = Method.ShippingMethodId;
            btnDelete.Attributes["data-confirm"] = string.Format(Resource.Admin_ShippingMethod_DeleteConfirm, Method.Name);
            txtName.Text                   = Method.Name;
            txtDescription.Text            = Method.Description;
            txtZeroPriceMessage.Text       = Method.ZeroPriceMessage;
            txtSortOrder.Text              = Method.SortOrder.ToString();
            chkEnabled.Checked             = Method.Enabled;
            chkDisplayCustomFields.Checked = Method.DisplayCustomFields;
            ckbShowInDetails.Checked       = Method.ShowInDetails;

            if (chkEnabled.Checked)
            {
                chkEnabled.Text      = Resource.Admin_Checkbox_Enabled;
                chkEnabled.ForeColor = System.Drawing.Color.Blue;
            }
            else
            {
                chkEnabled.Text      = Resource.Admin_Checkbox_Disabled;
                chkEnabled.ForeColor = System.Drawing.Color.Red;
            }

            if (Method.IconFileName != null && File.Exists(FoldersHelper.GetPathAbsolut(FolderType.ShippingLogo, Method.IconFileName.PhotoName)))
            {
                imgIcon.ImageUrl      = "~/" + FoldersHelper.GetPath(FolderType.ShippingLogo, Method.IconFileName.PhotoName, false);
                imgIcon.Visible       = true;
                btnDeleteIcon.Visible = true;
            }
            else
            {
                imgIcon.Visible       = false;
                btnDeleteIcon.Visible = false;
            }

            if (_ucSpecific != null && loadParameters)
            {
                _ucSpecific.Parameters = Method.Params;
            }

            rptrPayments.DataSource = ShippingMethodService.GetShippingPayments(ShippingMethodId);
            rptrPayments.DataBind();
        }
コード例 #10
0
        protected void bntClearShop_OnClick(object sender, EventArgs e)
        {
            if (TrialService.IsTrialEnabled)
            {
                foreach (var category in CategoryService.GetCategories().Where(category => category.ID != 0))
                {
                    CategoryService.DeleteCategoryAndPhotos(category.ID);
                }

                foreach (var productId in ProductService.GetAllProductIDs())
                {
                    ProductService.DeleteProduct(productId, false);
                }

                foreach (var property in PropertyService.GetAllProperties())
                {
                    PropertyService.DeleteProperty(property.PropertyId);
                }

                foreach (var brand in BrandService.GetBrands())
                {
                    BrandService.DeleteBrand(brand.ID);
                }


                foreach (var paymentId in PaymentService.GetAllPaymentMethodIDs())
                {
                    PaymentService.DeletePaymentMethod(paymentId);
                }

                foreach (var shippingId in ShippingMethodService.GetAllShippingMethodIds())
                {
                    ShippingMethodService.DeleteShippingMethod(shippingId);
                }

                foreach (var news in NewsService.GetNews())
                {
                    NewsService.DeleteNews(news.ID);
                }

                foreach (var newsCstegory in NewsService.GetNewsCategories())
                {
                    NewsService.DeleteNewsCategory(newsCstegory.NewsCategoryID);
                }

                CategoryService.RecalculateProductsCountManual();
                CategoryService.SetCategoryHierarchicallyEnabled(0);
                CacheManager.Clean();

                TrialService.TrackEvent(TrialEvents.DeleteTestData, string.Empty);
            }
        }
コード例 #11
0
ファイル: BuyInOneClick.ascx.cs プロジェクト: gkovalev/nastia
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!isShoppingCart)
        {
            hfProductId.Value = ProductId.ToString();
            txtPhone.Text     = CustomerSession.CurrentCustomer.Id != CustomerService.InternetUser.Id
                                ? CustomerSession.CurrentCustomer.Phone
                                : string.Empty;
            txtName.Text = CustomerSession.CurrentCustomer.Id != CustomerService.InternetUser.Id
                                ? CustomerSession.CurrentCustomer.FirstName
                                : string.Empty;
            txtfamilyName.Text = CustomerSession.CurrentCustomer.Id != CustomerService.InternetUser.Id
                                 ? CustomerSession.CurrentCustomer.LastName
                                 : string.Empty;

            try
            {
                txtAdres.Text = CustomerSession.CurrentCustomer.Id != CustomerService.InternetUser.Id
                         ? CustomerSession.CurrentCustomer.Contacts[0].Address
                         : string.Empty;
                txtCity.Text = CustomerSession.CurrentCustomer.Id != CustomerService.InternetUser.Id
                     ? CustomerSession.CurrentCustomer.Contacts[0].City
                     : string.Empty;
            }
            catch
            {
                txtAdres.Text = string.Empty;
            }

            try
            {
                txtPayment.Text  += PaymentService.GetAllPaymentMethods(true).FirstOrDefault().Name;
                txtShipping.Text += ShippingMethodService.GetAllShippingMethods(true).FirstOrDefault().Name;
            }
            catch { }


            txtMail.Text = CustomerSession.CurrentCustomer.Id != CustomerService.InternetUser.Id
                    ? CustomerSession.CurrentCustomer.EMail
                    : string.Empty;
        }

        if (Request.Url.AbsolutePath.ToLower().Contains("details"))
        {
            pageEnum = OrderConfirmationService.BuyInOneclickPage.details;
        }
        else if (Request.Url.AbsolutePath.ToLower().Contains("shoppingcart"))
        {
            pageEnum = OrderConfirmationService.BuyInOneclickPage.shoppingcart;
        }
    }
コード例 #12
0
        private void LoadShipping()
        {
            ShippingRates.CountryId   = PageData.ShippingContact.CountryId;
            ShippingRates.Zip         = PageData.ShippingContact.Zip;
            ShippingRates.City        = PageData.ShippingContact.City;
            ShippingRates.Region      = PageData.ShippingContact.RegionName;
            ShippingRates.Distance    = PageData.Distance;
            ShippingRates.PickpointId = PageData.SelectedShippingItem.Ext != null?PageData.SelectedShippingItem.Ext.PickpointId.TryParseInt() : 0;

            ShippingRates.SelectShippingOptionEx = PageData.SelectedShippingItem.Ext;
            ShippingRates.ShoppingCart           = ShoppingCartService.CurrentShoppingCart;

            ShippingRates.LoadMethods(PageData.SelectedShippingItem.Id);

            if (ShippingRates.SelectedItem != null)
            {
                PageData.SelectedShippingItem = ShippingRates.SelectedItem;
                PageData.Distance             = ShippingRates.Distance;
            }
            else
            {
                PageData.SelectedShippingItem = new ShippingItem();
                PageData.Distance             = 0;
            }

            DisplayBlock = ShippingMethodService.ShowAddressField(PageData.UserType, ShippingRates.SelectedItem)
                ? "block"
                : "none";
            BlockCustomField = ShippingMethodService.ShowCustomField(PageData.UserType, ShippingRates.SelectedItem)
                ? "block"
                : "none";

            liDelivery.Text = string.Format("{0}, {1}{2}",
                                            PageData.ShippingContact.Country,
                                            (PageData.ShippingContact.RegionName != "" && PageData.ShippingContact.RegionName != PageData.ShippingContact.City
                    ? PageData.ShippingContact.RegionName + ", "
                    : ""),
                                            PageData.ShippingContact.City);

            DeliveryJson = JsonConvert.SerializeObject(new
            {
                countryId = PageData.ShippingContact.CountryId,
                country   = PageData.ShippingContact.Country,
                region    = PageData.ShippingContact.RegionName,
                city      = PageData.ShippingContact.City
            });

            DisplayDelivery = PageData.UserType != EnUserType.RegisteredUser;
        }
コード例 #13
0
    protected void LoadMethods()
    {
        var methods = ShippingMethodService.GetAllShippingMethods().Where(item => item.ShippingMethodId != 1).ToList();

        if (methods.Count > 0)
        {
            if (ShippingMethodID == 0)
            {
                ShippingMethodID = methods.First().ShippingMethodId;
            }
            rptTabs.DataSource = methods;
            rptTabs.DataBind();
        }
        ShowMethod(ShippingMethodID);
    }
コード例 #14
0
    private void LoadFormData(bool loadParameters)
    {
        if (Method != null)
        {
            if (Method.ShippingMethodId == 1)
            {
                return;
            }
            ShippingMethodID      = Method.ShippingMethodId;
            cbeDelete.ConfirmText = string.Format(Resources.Resource.Admin_ShippingMethod_DeleteConfirm, Method.Name);
            txtName.Text          = Method.Name;
            txtDescription.Text   = Method.Description;
            txtSortOrder.Text     = Method.SortOrder.ToString();
            chkEnabled.Checked    = Method.Enabled;
            if (chkEnabled.Checked)
            {
                chkEnabled.Text      = Resources.Resource.Admin_Checkbox_Enabled;
                chkEnabled.ForeColor = Color.Blue;
            }
            else
            {
                chkEnabled.Text      = Resources.Resource.Admin_Checkbox_Disabled;
                chkEnabled.ForeColor = Color.Red;
            }

            if (Method.IconFileName != null && File.Exists(FoldersHelper.GetPathAbsolut(FolderType.ShippingLogo, Method.IconFileName.PhotoName)))
            {
                imgIcon.ImageUrl      = FoldersHelper.GetPath(FolderType.ShippingLogo, Method.IconFileName.PhotoName, true);
                imgIcon.Visible       = true;
                btnDeleteIcon.Visible = true;
            }
            else
            {
                imgIcon.Visible       = false;
                btnDeleteIcon.Visible = false;
            }

            if (_ucSpecific != null && loadParameters)
            {
                _ucSpecific.Parameters = Method.Params;
            }

            rptrPayments.DataSource = ShippingMethodService.GetShippingPayments(ShippingMethodID);
            rptrPayments.DataBind();
        }
    }
コード例 #15
0
    protected void btnOk_Click(object sender, EventArgs e)
    {
        var type   = (ShippingType)int.Parse(ddlType.SelectedValue);
        var method = new ShippingMethod
        {
            Type        = type,
            Name        = txtName.Text,
            Description = txtDescription.Text,
            Enabled     = type == ShippingType.FreeShipping,
            SortOrder   = txtSortOrder.Text.TryParseInt()
        };
        var id = ShippingMethodService.InsertShippingMethod(method);

        if (id != 0)
        {
            Response.Redirect("~/Admin/ShippingMethod.aspx?ShippingMethodID=" + id);
        }
    }
コード例 #16
0
        protected void ShowMethod(int methodId)
        {
            var method = ShippingMethodService.GetShippingMethod(methodId);

            foreach (var ucId in UcIds)
            {
                var uc = (MasterControl)pnMethods.FindControl(ucId.Value);
                if (method == null)
                {
                    uc.Visible = false;
                    continue;
                }
                if (ucId.Key == method.Type)
                {
                    uc.Method = method;
                }
                uc.Visible = ucId.Key == method.Type;
            }
        }
コード例 #17
0
        protected void btnOk_Click(object sender, EventArgs e)
        {
            var type   = (ShippingType)int.Parse(ddlType.SelectedValue);
            var method = new ShippingMethod
            {
                Type                = type,
                Name                = txtName.Text,
                Description         = txtDescription.Text,
                Enabled             = type == ShippingType.FreeShipping,
                DisplayCustomFields = true,
                SortOrder           = txtSortOrder.Text.TryParseInt(),
                ZeroPriceMessage    = Resources.Resource.Admin_ShippingMethod_ZeroPriceMessage
            };

            TrialService.TrackEvent(TrialEvents.AddShippingMethod, method.Type.ToString());
            var id = ShippingMethodService.InsertShippingMethod(method);

            if (id != 0)
            {
                Response.Redirect("~/Admin/ShippingMethod.aspx?ShippingMethodID=" + id);
            }
        }
コード例 #18
0
        private void LoadMultiShip()
        {
            var multishipMethod = _shippingRates.Find(x => x.Type == ShippingType.Multiship);

            if (multishipMethod != null)
            {
                divMultiShip.Visible = true;

                var multiship = new Multiship(ShippingMethodService.GetShippingParams(multishipMethod.MethodId))
                {
                    ShoppingCart = ShoppingCart
                };

                var totalWeight = ShoppingCart.TotalShippingWeight;
                Weight = totalWeight != 0
                    ? totalWeight.ToString("F3").Replace(",", ".")
                    : multiship.WeightAvg.ToString("F3").Replace(",", ".");

                WidgetCode = multiship.WidgetCode;
                Cost       = ShoppingCart.TotalPrice.ToString("F2").Replace(",", ".");

                foreach (var item in ShoppingCart)
                {
                    var sizeArr = item.Offer.Product.Size.Split('|');

                    var length = sizeArr[0].TryParseInt() / 10;
                    var width  = sizeArr[1].TryParseInt() / 10;
                    var height = sizeArr[2].TryParseInt() / 10;

                    Dimensions += (Dimensions.IsNotEmpty() ? "," : "") +
                                  string.Format("[{0}, {1}, {2}, {3}]",
                                                length > 0 ? length : multiship.LengthAvg,
                                                width > 0 ? width : multiship.WidthAvg,
                                                height > 0 ? height : multiship.HeightAvg,
                                                item.Amount);
                }
            }
        }
コード例 #19
0
        public new void LoadData()
        {
            var sm = ShippingMethodService.GetShippingMethodByName(chbPickup.Text);

            if (sm != null)
            {
                chbPickup.Checked = true;
            }

            sm = ShippingMethodService.GetShippingMethodByName(chbCourier.Text);
            if (sm != null && sm.Type == ShippingType.FixedRate)
            {
                chbCourier.Checked = true;
                txtCourier.Text    = sm.Params.ElementOrDefault(FixeRateShippingTemplate.ShippingPrice);
            }

            sm = ShippingMethodService.GetShippingMethodByName(chbeDost.Text);
            if (sm != null && sm.Type == ShippingType.eDost)
            {
                chbeDost.Checked   = true;
                txteDostNumer.Text = sm.Params.ElementOrDefault(EdostTemplate.ShopId);
                txteDostPass.Text  = sm.Params.ElementOrDefault(EdostTemplate.Password);
            }
        }
コード例 #20
0
        private Control GetTableRadioButton(ShippingItem shippingListItem)
        {
            var tr = new HtmlTableRow();
            var td = new HtmlTableCell();

            if (divScripts.Visible == false)
            {
                divScripts.Visible = shippingListItem.Ext != null && shippingListItem.Ext.Type == ExtendedType.Pickpoint;
            }

            var radioButton = new RadioButton
            {
                GroupName = "ShippingRateGroup",
                ID        = PefiksId + shippingListItem.Id, //+ "|" + shippingListItem.Rate
                CssClass  = "radio-shipping"
            };

            if (String.IsNullOrEmpty(_selectedID.Value.Replace(PefiksId, string.Empty)))
            {
                _selectedID.Value = radioButton.ID;
            }

            radioButton.Checked = radioButton.ID == _selectedID.Value;

            string strShippingPrice = shippingListItem.Rate != 0 ? CatalogService.GetStringPrice(shippingListItem.Rate, Currency.Value, Currency.Iso3) : shippingListItem.ZeroPriceMessage;

            radioButton.Text = string.Format("{0} <span class='price'>{1}</span>",
                                             shippingListItem.MethodNameRate, strShippingPrice);

            //if (shippingListItem.Ext != null && shippingListItem.Ext.Type == ExtendedType.Pickpoint)
            //{
            //    string temp;
            //    if (shippingListItem.Ext.Pickpointmap.IsNotEmpty())
            //        temp = string.Format(",{{city:'{0}', ids:null}}", shippingListItem.Ext.Pickpointmap);
            //    else
            //        temp = string.Empty;
            //    radioButton.Text +=
            //        string.Format(
            //            "<br/><div id=\"address\">{0}</div><a href=\"#\" onclick=\"PickPoint.open(SetPickPointAnswerAdmin{1});return false\">" +
            //            "{2}</a><input type=\"hidden\" name=\"pickpoint_id\" id=\"pickpoint_id\" value=\"\" /><br />",
            //            pickAddress.Value, temp, Resources.Resource.Client_OrderConfirmation_Select);
            //}

            radioButton.Text += ShippingMethodService.RenderExtend(shippingListItem, 0, pickAddress.Value, false);

            var panel = new Panel {
                CssClass = "inline-b"
            };

            using (var img = new Image {
                ImageUrl = SettingsGeneral.AbsoluteUrl + "/" + ShippingIcons.GetShippingIcon(shippingListItem.Type, shippingListItem.IconName, shippingListItem.MethodNameRate)
            })
            {
                panel.Controls.Add(img);
                td.Controls.Add(panel);
            }

            var panel2 = new Panel {
                CssClass = "inline-b"
            };

            panel2.Controls.Add(radioButton);

            td.Controls.Add(panel2);
            tr.Controls.Add(td);

            return(tr);
        }
コード例 #21
0
        protected void btnCallCourier_OnClick(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtSenderCity.Text) || string.IsNullOrEmpty(txtSenderStreet.Text) || string.IsNullOrEmpty(txtSenderHouse.Text) ||
                string.IsNullOrEmpty(txtSenderFlat.Text) || string.IsNullOrEmpty(txtSenderPhone.Text) || string.IsNullOrEmpty(txtSenderName.Text) ||
                string.IsNullOrEmpty(txtSenderWeght.Text))
            {
                return;
            }

            var shippingMethods = ShippingMethodService.GetShippingMethodByType(ShippingType.Cdek);

            if (shippingMethods.Count == 0)
            {
                lblCallCourier.Text      = @"Не удалось получить метод доставки";
                lblCallCourier.ForeColor = System.Drawing.Color.Red;
                return;
            }

            var timeBegin = txtTimeFrom.Text.Split(new[] { ':' });

            if (timeBegin.Length != 2)
            {
                lblCallCourier.Text      = @"Неверное время доставки TimeFrom";
                lblCallCourier.ForeColor = System.Drawing.Color.Red;
                return;
            }

            var timeEnd = txtTimeTo.Text.Split(new[] { ':' });

            if (timeEnd.Length != 2)
            {
                lblCallCourier.Text      = @"Неверное время доставки TimeTo";
                lblCallCourier.ForeColor = System.Drawing.Color.Red;
                return;
            }

            var date      = Convert.ToDateTime(txtDate.Text);
            var dateBegin = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt32(timeBegin[0]), Convert.ToInt32(timeBegin[1]), 0);
            var dateEnd   = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt32(timeEnd[0]), Convert.ToInt32(timeEnd[1]), 0);

            CdekStatusAnswer result = (new Cdek(shippingMethods[0].Params)).CallCourier(
                date,
                dateBegin,
                dateEnd,
                txtSenderCity.Text,
                txtSenderStreet.Text,
                txtSenderHouse.Text,
                txtSenderFlat.Text,
                txtSenderPhone.Text,
                txtSenderName.Text,
                txtSenderWeght.Text);

            if (!result.Status)
            {
                txtDate.Text     = string.Empty;
                txtTimeFrom.Text = string.Empty;
                txtTimeTo.Text   = string.Empty;

                txtSenderCity.Text   = string.Empty;
                txtSenderStreet.Text = string.Empty;
                txtSenderHouse.Text  = string.Empty;
                txtSenderFlat.Text   = string.Empty;
                txtSenderPhone.Text  = string.Empty;
                txtSenderName.Text   = string.Empty;
                txtSenderWeght.Text  = string.Empty;
            }
            lblCallCourier.ForeColor = result.Status ? System.Drawing.Color.Blue : System.Drawing.Color.Red;
            lblCallCourier.Text      = result.Message;
        }
コード例 #22
0
    public void LoadMethods(string countryName, string cityName, bool displayCertificateMetod, bool hideCashMetod)
    {
        var returnPayment = new List <PaymentMethod>();

        if (displayCertificateMetod)
        {
            var certificateMethod = PaymentService.GetPaymentMethodByType(PaymentType.GiftCertificate);
            if (certificateMethod == null)
            {
                certificateMethod = new PaymentGiftCertificate()
                {
                    Enabled     = true,
                    Name        = Resources.Resource.Client_GiftCertificate,
                    Description = Resources.Resource.Payment_GiftCertificateDescription,
                    SortOrder   = 0
                };

                PaymentService.AddPaymentMethod(certificateMethod);
            }
            returnPayment.Add(certificateMethod);
        }
        else
        {
            foreach (var method in PaymentService.GetAllPaymentMethods(true))
            {
                if (method.Type == PaymentType.GiftCertificate)
                {
                    continue;
                }

                if (hideCashMetod && (method.Type == PaymentType.Cash || method.Type == PaymentType.CashOnDelivery))
                {
                    continue;
                }

                if (ShippingMethodId != 0 && ShippingMethodService.IsPaymentNotUsed(ShippingMethodId, method.PaymentMethodID))
                {
                    continue;
                }

                if (Ext == null)
                {
                    if (method.Type != PaymentType.CashOnDelivery && method.Type != PaymentType.PickPoint)
                    {
                        returnPayment.Add(method);
                    }
                }
                else
                {
                    switch (method.Type)
                    {
                    case PaymentType.CashOnDelivery:
                        if (Ext.Type == ExtendedType.CashOnDelivery && Ext.ShippingId == int.Parse(method.Parameters[CashOnDelivery.ShippingMethodTemplate]))
                        {
                            method.Description = CashOnDelivery.GetDecription(Ext);
                            returnPayment.Add(method);
                        }
                        break;

                    case PaymentType.PickPoint:
                        if (Ext.Type == ExtendedType.Pickpoint && Ext.ShippingId == int.Parse(method.Parameters[PickPoint.ShippingMethodTemplate]))
                        {
                            method.Description = Ext.PickpointAddress;
                            returnPayment.Add(method);
                        }
                        break;

                    default:
                        returnPayment.Add(method);
                        break;
                    }
                }
            }
        }

        var paymentMethods = UseGeoMapping(returnPayment, countryName, cityName);

        _selectedIndex                = paymentMethods.FindIndex(item => item.PaymentMethodID == SelectedID);
        lvPaymentMethod.DataSource    = paymentMethods;
        lvPaymentMethod.SelectedIndex = _selectedIndex != -1 ? _selectedIndex : _selectedIndex = 0;
        lvPaymentMethod.DataBind();
        if (paymentMethods.Count > 0)
        {
            hfPaymentMethodId.Value = paymentMethods[_selectedIndex].PaymentMethodID.ToString();
        }
        _loaded = true;
    }
コード例 #23
0
        private void LoadSettings()
        {
            lblApiUrl.Text = SettingsMain.SiteUrl.TrimEnd('/').Replace("http", "https") + "/" + YaMarketByuingApiService.ApiUrl;
            txtAuth.Text   = YaMarketBuyingSettings.AuthToken;



            var shipppings      = new List <YaMarketShipping>();
            var shippingMethods = ShippingMethodService.GetAllShippingMethods(true);
            var selshippings    = YaMarketByuingService.GetShippings();

            foreach (var shipping in shippingMethods)
            {
                var ship = new YaMarketShipping()
                {
                    Name = shipping.Name, ShippingMethodId = shipping.ShippingMethodId
                };

                var sel = selshippings.FirstOrDefault(x => x.ShippingMethodId == shipping.ShippingMethodId);
                if (sel != null)
                {
                    ship.Type    = sel.Type;
                    ship.MinDate = sel.MinDate;
                    ship.MaxDate = sel.MaxDate;
                }
                shipppings.Add(ship);
            }

            lvShippings.DataSource = shipppings;
            lvShippings.DataBind();

            var payments = YaMarketBuyingSettings.Payments.Split(';');

            ddlYandex.SelectedValue         = payments.Any(x => x == "YANDEX") ? "1" : "0";
            ddlShopprepaid.SelectedValue    = payments.Any(x => x == "SHOP_PREPAID") ? "1" : "0";
            ddlCashOnDelivery.SelectedValue = payments.Any(x => x == "CASH_ON_DELIVERY") ? "1" : "0";
            ddlCardOnDelivery.SelectedValue = payments.Any(x => x == "CARD_ON_DELIVERY") ? "1" : "0";

            ddlUnpaidStatus.Items.Clear();
            ddlUnpaidStatus.Items.AddRange(OrderService.GetOrderStatuses().Select(x => new ListItem(x.StatusName, x.StatusID.ToString())).ToArray());

            ddlProcessingStatus.Items.Clear();
            ddlProcessingStatus.Items.AddRange(OrderService.GetOrderStatuses().Select(x => new ListItem(x.StatusName, x.StatusID.ToString())).ToArray());

            ddlDeliveryStatus.Items.Clear();
            ddlDeliveryStatus.Items.AddRange(OrderService.GetOrderStatuses().Select(x => new ListItem(x.StatusName, x.StatusID.ToString())).ToArray());

            ddlDeliveredStatus.Items.Clear();
            ddlDeliveredStatus.Items.AddRange(OrderService.GetOrderStatuses().Select(x => new ListItem(x.StatusName, x.StatusID.ToString())).ToArray());

            if (ddlUnpaidStatus.Items.FindByValue(YaMarketBuyingSettings.UpaidStatusId.ToString()) != null)
            {
                ddlUnpaidStatus.SelectedValue = YaMarketBuyingSettings.UpaidStatusId.ToString();
            }

            if (ddlProcessingStatus.Items.FindByValue(YaMarketBuyingSettings.ProcessingStatusId.ToString()) != null)
            {
                ddlProcessingStatus.SelectedValue = YaMarketBuyingSettings.ProcessingStatusId.ToString();
            }

            if (ddlDeliveryStatus.Items.FindByValue(YaMarketBuyingSettings.DeliveryStatusId.ToString()) != null)
            {
                ddlDeliveryStatus.SelectedValue = YaMarketBuyingSettings.DeliveryStatusId.ToString();
            }

            if (ddlDeliveredStatus.Items.FindByValue(YaMarketBuyingSettings.DeliveredStatusId.ToString()) != null)
            {
                ddlDeliveredStatus.SelectedValue = YaMarketBuyingSettings.DeliveredStatusId.ToString();
            }

            txtCampaignId.Text          = YaMarketBuyingSettings.CampaignId;
            txtAuthTokenToYaMarket.Text = YaMarketBuyingSettings.AuthTokenToMarket;
            txtAuthClientId.Text        = YaMarketBuyingSettings.AuthClientId;
            txtLogin.Text = YaMarketBuyingSettings.Login;
        }
コード例 #24
0
 public ConfigController(ShippingMethodService service)
 {
     _service = service;
 }
コード例 #25
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (!Visible)
            {
                return;
            }
            if (!ValidateFormData())
            {
                return;
            }

            var parameters = _ucSpecific == null ? null : _ucSpecific.Parameters;

            if (parameters == null)
            {
                return;
            }

            var method = new ShippingMethod
            {
                Type                = ShippingType,
                ShippingMethodId    = ShippingMethodId,
                Name                = txtName.Text,
                Description         = txtDescription.Text,
                SortOrder           = txtSortOrder.Text.TryParseInt(),
                Enabled             = chkEnabled.Checked, //(_ucSpecific == null || _ucSpecific.Parameters != null),
                DisplayCustomFields = chkDisplayCustomFields.Checked,
                ShowInDetails       = ckbShowInDetails.Checked,
                ZeroPriceMessage    = txtZeroPriceMessage.Text
            };

            if (!ShippingMethodService.UpdateShippingMethod(method))
            {
                return;
            }
            if (ShippingType == ShippingType.eDost)
            {
                //COD
                if (SQLDataHelper.GetBoolean(parameters[EdostTemplate.EnabledCOD]))
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[EdostTemplate.ShipIdCOD], out idShip);
                    var payment = PaymentService.GetPaymentMethod(idShip);
                    if (payment == null)
                    {
                        var payMethod = PaymentMethod.Create(PaymentType.CashOnDelivery);
                        payMethod.Name    = Resource.CashOnDeliveryName;
                        payMethod.Enabled = true;
                        if (payMethod.Parameters.ContainsKey(CashOnDelivery.ShippingMethodTemplate))
                        {
                            payMethod.Parameters[CashOnDelivery.ShippingMethodTemplate] = ShippingMethodId.ToString();
                        }
                        else
                        {
                            payMethod.Parameters.Add(CashOnDelivery.ShippingMethodTemplate,
                                                     ShippingMethodId.ToString());
                        }

                        var id = PaymentService.AddPaymentMethod(payMethod);
                        parameters[EdostTemplate.ShipIdCOD] = id.ToString();
                    }
                }
                else
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[EdostTemplate.ShipIdCOD], out idShip);
                    PaymentService.DeletePaymentMethod(idShip);
                }

                //PickPoint
                if (SQLDataHelper.GetBoolean(parameters[EdostTemplate.EnabledPickPoint]))
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[EdostTemplate.ShipIdPickPoint], out idShip);
                    var payment = PaymentService.GetPaymentMethod(idShip);
                    if (payment == null)
                    {
                        var payMethod = PaymentMethod.Create(PaymentType.PickPoint);
                        payMethod.Name    = Resource.OrderPickPointMessage;
                        payMethod.Enabled = true;
                        if (payMethod.Parameters.ContainsKey(PickPoint.ShippingMethodTemplate))
                        {
                            payMethod.Parameters[PickPoint.ShippingMethodTemplate] = ShippingMethodId.ToString();
                        }
                        else
                        {
                            payMethod.Parameters.Add(PickPoint.ShippingMethodTemplate, ShippingMethodId.ToString());
                        }
                        var id = PaymentService.AddPaymentMethod(payMethod);
                        parameters[EdostTemplate.ShipIdPickPoint] = id.ToString();
                    }
                }
                else
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[EdostTemplate.ShipIdPickPoint], out idShip);
                    PaymentService.DeletePaymentMethod(idShip);
                }
            }

            if (ShippingType == ShippingType.CheckoutRu)
            {
                if (SQLDataHelper.GetBoolean(parameters[ShippingCheckoutRuTemplate.EnabledCOD]))
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[ShippingCheckoutRuTemplate.ShipIdCOD], out idShip);
                    var payment = PaymentService.GetPaymentMethod(idShip);
                    if (payment == null)
                    {
                        var payMethod = PaymentMethod.Create(PaymentType.CashOnDelivery);
                        payMethod.Name    = Resource.CashOnDeliveryName;
                        payMethod.Enabled = true;
                        if (payMethod.Parameters.ContainsKey(CashOnDelivery.ShippingMethodTemplate))
                        {
                            payMethod.Parameters[CashOnDelivery.ShippingMethodTemplate] = ShippingMethodId.ToString();
                        }
                        else
                        {
                            payMethod.Parameters.Add(CashOnDelivery.ShippingMethodTemplate,
                                                     ShippingMethodId.ToString());
                        }

                        var id = PaymentService.AddPaymentMethod(payMethod);
                        parameters[ShippingCheckoutRuTemplate.ShipIdCOD] = id.ToString();
                    }
                }
                else
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[ShippingCheckoutRuTemplate.ShipIdCOD], out idShip);
                    PaymentService.DeletePaymentMethod(idShip);
                }
            }

            if (ShippingType == ShippingType.Cdek)
            {
                if (SQLDataHelper.GetBoolean(parameters[CdekTemplate.EnabledCOD]))
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[CdekTemplate.ShipIdCOD], out idShip);
                    var payment = PaymentService.GetPaymentMethod(idShip);
                    if (payment == null)
                    {
                        var payMethod = PaymentMethod.Create(PaymentType.CashOnDelivery);
                        payMethod.Name    = Resource.CashOnDeliveryName;
                        payMethod.Enabled = true;
                        if (payMethod.Parameters.ContainsKey(CashOnDelivery.ShippingMethodTemplate))
                        {
                            payMethod.Parameters[CashOnDelivery.ShippingMethodTemplate] = ShippingMethodId.ToString();
                        }
                        else
                        {
                            payMethod.Parameters.Add(CashOnDelivery.ShippingMethodTemplate,
                                                     ShippingMethodId.ToString());
                        }

                        var id = PaymentService.AddPaymentMethod(payMethod);
                        parameters[CdekTemplate.ShipIdCOD] = id.ToString();
                    }
                }
                else
                {
                    int idShip = 0;
                    Int32.TryParse(parameters[CdekTemplate.ShipIdCOD], out idShip);
                    PaymentService.DeletePaymentMethod(idShip);
                }
            }
            //if (ShippingType == ShippingType.ShippingNovaPoshta)
            //{
            //    //COD
            //    if (SQLDataHelper.GetBoolean(parameters[NovaPoshtaTemplate.EnabledCOD]))
            //    {
            //        int idShip = 0;
            //        Int32.TryParse(parameters[NovaPoshtaTemplate.ShipIdCOD], out idShip);
            //        var payment = PaymentService.GetPaymentMethod(idShip);
            //        if (payment == null)
            //        {
            //            var payMethod = PaymentMethod.Create(PaymentType.CashOnDelivery);
            //            payMethod.Name = Resource.CashOnDeliveryName;
            //            payMethod.Enabled = true;
            //            if (payMethod.Parameters.ContainsKey(CashOnDelivery.ShippingMethodTemplate))
            //            {
            //                payMethod.Parameters[CashOnDelivery.ShippingMethodTemplate] = ShippingMethodId.ToString();
            //            }
            //            else
            //            {
            //                payMethod.Parameters.Add(CashOnDelivery.ShippingMethodTemplate,
            //                                         ShippingMethodId.ToString());

            //            }

            //            var id = PaymentService.AddPaymentMethod(payMethod);
            //            parameters[NovaPoshtaTemplate.ShipIdCOD] = id.ToString();
            //        }
            //    }
            //    else
            //    {
            //        int idShip = 0;
            //        Int32.TryParse(parameters[NovaPoshtaTemplate.ShipIdCOD], out idShip);
            //        PaymentService.DeletePaymentMethod(idShip);
            //    }
            //}

            var payments = new System.Collections.Generic.List <int>();

            foreach (RepeaterItem item in rptrPayments.Items)
            {
                if (!((CheckBox)item.FindControl("ckbUsePayment")).Checked)
                {
                    payments.Add(SQLDataHelper.GetInt(((HiddenField)item.FindControl("hfPaymentId")).Value));
                }
            }
            ShippingMethodService.UpdateShippingPayments(ShippingMethodId, payments);

            if (ShippingMethodService.UpdateShippingParams(method.ShippingMethodId, parameters))
            {
                Method = ShippingMethodService.GetShippingMethod(method.ShippingMethodId);
                LoadFormData(true);
                OnSaved(new SavedEventArgs {
                    Enabled = method.Enabled, Name = method.Name
                });
            }
            ShippingCacheRepositiry.Delete(method.ShippingMethodId);
        }
コード例 #26
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (!Visible)
        {
            return;
        }

        if (ValidateFormData())
        {
            var parameters = _ucSpecific == null ? null : _ucSpecific.Parameters;

            if (parameters != null)
            {
                var method = new ShippingMethod
                {
                    Type             = ShippingType,
                    ShippingMethodId = ShippingMethodID,
                    Name             = txtName.Text,
                    Description      = txtDescription.Text,
                    SortOrder        = txtSortOrder.Text.TryParseInt(),
                    Enabled          = chkEnabled.Checked && (_ucSpecific == null || _ucSpecific.Parameters != null)
                };
                if (ShippingMethodService.UpdateShippingMethod(method))
                {
                    if (ShippingType == ShippingType.eDost)
                    {
                        //COD
                        if (Convert.ToBoolean(parameters[EdostTemplate.EnabledCOD]))
                        {
                            int idShip = 0;
                            Int32.TryParse(parameters[EdostTemplate.ShipIdCOD], out idShip);
                            var payment = PaymentService.GetPaymentMethod(idShip);
                            if (payment == null)
                            {
                                var payMethod = PaymentMethod.Create(PaymentType.CashOnDelivery);
                                payMethod.Name    = Resources.Resource.CashOnDeliveryName;
                                payMethod.Enabled = true;
                                if (payMethod.Parameters.ContainsKey(CashOnDelivery.ShippingMethodTemplate))
                                {
                                    payMethod.Parameters[CashOnDelivery.ShippingMethodTemplate] = ShippingMethodID.ToString();
                                }
                                else
                                {
                                    payMethod.Parameters.Add(CashOnDelivery.ShippingMethodTemplate,
                                                             ShippingMethodID.ToString());
                                }

                                var id = PaymentService.AddPaymentMethod(payMethod);
                                parameters[EdostTemplate.ShipIdCOD] = id.ToString();
                            }
                        }
                        else
                        {
                            int idShip = 0;
                            Int32.TryParse(parameters[EdostTemplate.ShipIdCOD], out idShip);
                            PaymentService.DeletePaymentMethod(idShip);
                        }

                        //PickPoint
                        if (Convert.ToBoolean(parameters[EdostTemplate.EnabledPickPoint]))
                        {
                            int idShip = 0;
                            Int32.TryParse(parameters[EdostTemplate.ShipIdPickPoint], out idShip);
                            var payment = PaymentService.GetPaymentMethod(idShip);
                            if (payment == null)
                            {
                                var payMethod = PaymentMethod.Create(PaymentType.PickPoint);
                                payMethod.Name    = Resources.Resource.OrderPickPointMessage;
                                payMethod.Enabled = true;
                                if (payMethod.Parameters.ContainsKey(PickPoint.ShippingMethodTemplate))
                                {
                                    payMethod.Parameters[PickPoint.ShippingMethodTemplate] = ShippingMethodID.ToString();
                                }
                                else
                                {
                                    payMethod.Parameters.Add(PickPoint.ShippingMethodTemplate, ShippingMethodID.ToString());
                                }
                                var id = PaymentService.AddPaymentMethod(payMethod);
                                parameters[EdostTemplate.ShipIdPickPoint] = id.ToString();
                            }
                        }
                        else
                        {
                            int idShip = 0;
                            Int32.TryParse(parameters[EdostTemplate.ShipIdPickPoint], out idShip);
                            PaymentService.DeletePaymentMethod(idShip);
                        }
                    }

                    var payments = new System.Collections.Generic.List <int>();
                    foreach (RepeaterItem item in rptrPayments.Items)
                    {
                        if (!((CheckBox)item.FindControl("ckbUsePayment")).Checked)
                        {
                            payments.Add(Convert.ToInt32(((HiddenField)item.FindControl("hfPaymentId")).Value));
                        }
                    }
                    ShippingMethodService.UpdateShippingPayments(ShippingMethodID, payments);

                    if (ShippingMethodService.UpdateShippingParams(method.ShippingMethodId, parameters))
                    {
                        Method = ShippingMethodService.GetShippingMethod(method.ShippingMethodId);
                        LoadFormData(_ucSpecific != null && _ucSpecific.Parameters != null);
                        OnSaved(new SavedEventArgs {
                            Enabled = method.Enabled, Name = method.Name
                        });
                    }
                }
            }
        }
    }
コード例 #27
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try // Orders info
        {
            //-------------------------------------------

            using (var db = new SQLDataAccess())
            {
                db.cmd.CommandText = "[Order].[sp_GetOrderAvg]";
                db.cmd.CommandType = CommandType.StoredProcedure;
                db.cmd.Parameters.Clear();
                db.cnOpen();
                using (SqlDataReader reader = db.cmd.ExecuteReader())
                    while (reader.Read())
                    {
                        if (SQLDataHelper.GetString(reader, "flag") == "ByDay")
                        {
                            lblAvOrders.Text = SQLDataHelper.GetString(reader, "Count") ?? "0";
                        }
                        else
                        {
                            lblAvItems.Text = SQLDataHelper.GetString(reader, "Count") ?? "0";
                        }
                    }

                db.cmd.CommandText = "SELECT avg([Sum]) FROM [Order].[Order] WHERE [PaymentDate] is not null";
                db.cmd.CommandType = CommandType.Text;
                object value = db.cmd.ExecuteScalar();
                if (value != DBNull.Value)
                {
                    lblAvCheck.Text = AdvantShop.Catalog.CatalogService.GetStringPrice((decimal)(value));
                }
                else
                {
                    lblAvCheck.Text = AdvantShop.Catalog.CatalogService.GetStringPrice(0);
                }
                db.cmd.CommandText = "select top 1 [PaymentMethodID] from [Order].[Order] where [PaymentDate] is not null group by [PaymentMethodID] order by count(*) desc";
                value = db.cmd.ExecuteScalar();

                if (value != DBNull.Value && value != null)
                {
                    LblPopPayment.Text = PaymentService.GetPaymentMethod((int)value).Name;
                }

                db.cmd.CommandText = "select top 1 [ShippingMethodID] from [Order].[Order]  where [PaymentDate] is not null group by [ShippingMethodID] order by count(*) desc";
                value = db.cmd.ExecuteScalar();
                if (value != DBNull.Value && value != null)
                {
                    LblPopShipping.Text = ShippingMethodService.GetShippingMethod((int)value).Name;
                }


                //db.cmd.CommandText = "select (sum([Sum]) - SUM([SupplyTotal]) - sum([TaxCost])- sum([ShippingCost])) as 'Profit' , sum([Sum]) as 'Sum' from [Order].[Order] WHERE [PaymentDate] is not null";
                //db.cmd.CommandText = "select (1 -  (SUM([SupplyTotal]) /( sum([Sum]) - sum([TaxCost]) - sum([ShippingCost])))) *100 from [Order].[Order] WHERE [PaymentDate] is not null";
                db.cmd.CommandText = "select case when sum([Sum]) - sum([TaxCost]) - sum([ShippingCost])= 0 then 0 else (1 -  (SUM([SupplyTotal]) /( sum([Sum]) - sum([TaxCost]) - sum([ShippingCost])))) *100 end from [Order].[Order] WHERE [PaymentDate] is not null";
                //(sum([Sum] - sum([TaxCost]) - [Shipping] + [ExtraCharge])/([Sum] - [Tax] - [Shipping])*100 as 'Profitability'

                value = db.cmd.ExecuteScalar();
                if (value != DBNull.Value && value != null)
                {
                    LblProfitability.Text = Convert.ToDecimal(value).ToString("F2") + "%";
                }
                else
                {
                    LblProfitability.Text = @"0%";
                }


                db.cmd.CommandText = "select top 1 [Country] from [Order].[OrderContact] inner join [Order].[Order] on [Order].[ShippingContactID] = [OrderContact].[OrderContactID] WHERE [OrderID] in (select top 1 [OrderID] from [Order].[Order] where [PaymentDate] is not null ) group by [Country] order by count (*) desc";
                value = db.cmd.ExecuteScalar();
                if (value != DBNull.Value && value != null)
                {
                    LblCountry.Text = (string)(value);
                }
                db.cmd.CommandText = "select top 1 [Zone] from [Order].[OrderContact] inner join [Order].[Order] on [Order].[ShippingContactID] = [OrderContact].[OrderContactID] WHERE [OrderID] in (select top 1 [OrderID] from [Order].[Order] where [PaymentDate] is not null ) group by [Zone] order by count (*) desc";
                value = db.cmd.ExecuteScalar();
                if (value != DBNull.Value && value != null)
                {
                    LblRegion.Text = (string)(value);
                }

                db.cmd.CommandText = "[Order].[sp_GetUserPercent]";
                db.cmd.CommandType = CommandType.StoredProcedure;
                decimal unreg = 200;
                value = db.cmd.ExecuteScalar();
                if (value != DBNull.Value)
                {
                    unreg = Convert.ToDecimal(value);
                }
                if (unreg == 200)
                {
                    LblReg.Text   = @"0%";
                    LblUnreg.Text = @"0%";
                }
                else
                {
                    LblReg.Text   = (100 - unreg).ToString("F0") + '%';
                    LblUnreg.Text = unreg.ToString("F0") + '%';
                }
                db.cnClose();
            }
        }
        catch (Exception ex)
        {
            MsgErr(ex.Message + " atLoad Orders Info");
            Debug.LogError(ex);
        }
    }
コード例 #28
0
        public static List <PaymentMethod> LoadMethods(int shippingMethodId, ShippingOptionEx ext,
                                                       bool displayCertificateMetod, bool hideCashMetod)
        {
            var returnPayment = new List <PaymentMethod>();

            if (displayCertificateMetod)
            {
                var certificateMethod = GetPaymentMethodByType(PaymentType.GiftCertificate);
                if (certificateMethod == null)
                {
                    certificateMethod = new PaymentGiftCertificate
                    {
                        Enabled     = true,
                        Name        = Resources.Resource.Client_GiftCertificate,
                        Description = Resources.Resource.Payment_GiftCertificateDescription,
                        SortOrder   = 0
                    };

                    AddPaymentMethod(certificateMethod);
                }
                returnPayment.Add(certificateMethod);
            }
            else
            {
                foreach (var method in GetAllPaymentMethods(true))
                {
                    if (method.Type == PaymentType.GiftCertificate)
                    {
                        continue;
                    }

                    if (hideCashMetod && (method.Type == PaymentType.Cash || method.Type == PaymentType.CashOnDelivery))
                    {
                        continue;
                    }

                    if (shippingMethodId != 0 &&
                        ShippingMethodService.IsPaymentNotUsed(shippingMethodId, method.PaymentMethodId))
                    {
                        continue;
                    }

                    if (method.Type == PaymentType.Kupivkredit)
                    {
                        var shpCart   = ShoppingCartService.CurrentShoppingCart;
                        var kvkMethos = (Kupivkredit)GetPaymentMethod(method.PaymentMethodId);
                        if (shpCart.TotalPrice <= kvkMethos.MinimumPrice)
                        {
                            continue;
                        }
                    }

                    if (ext == null)
                    {
                        if (method.Type != PaymentType.CashOnDelivery && method.Type != PaymentType.PickPoint)
                        {
                            returnPayment.Add(method);
                        }
                    }
                    else
                    {
                        switch (method.Type)
                        {
                        case PaymentType.CashOnDelivery:
                            if ((ext.Type.HasFlag(ExtendedType.CashOnDelivery) || ext.Type.HasFlag(ExtendedType.Cdek) || ext.Type.HasFlag(ExtendedType.Checkout)) &&
                                ext.ShippingId == int.Parse(method.Parameters[CashOnDelivery.ShippingMethodTemplate]))
                            {
                                method.Description = CashOnDelivery.GetDecription(ext);
                                returnPayment.Add(method);
                            }
                            break;

                        case PaymentType.PickPoint:
                            if (ext.Type == ExtendedType.Pickpoint &&
                                ext.ShippingId == int.Parse(method.Parameters[PickPoint.ShippingMethodTemplate]))
                            {
                                method.Description = ext.PickpointAddress;
                                returnPayment.Add(method);
                            }
                            break;

                        default:
                            returnPayment.Add(method);
                            break;
                        }
                    }
                }
            }

            return(returnPayment);
        }
コード例 #29
0
        private void LoadOrder()
        {
            order = OrderService.GetOrder(OrderId);
            if (order == null)
            {
                Response.Redirect("OrderSearch.aspx");
            }

            lnkExportToExcel.NavigateUrl = "HttpHandlers/ExportOrderExcel.ashx?OrderID=" + order.OrderID;
            lnkEditOrder.NavigateUrl     = "EditOrder.aspx?OrderID=" + order.OrderID;

            OrderNumber         = order.Number;
            lblOrderId.Text     = order.OrderID.ToString();
            lblOrderDate.Text   = AdvantShop.Localization.Culture.ConvertDate(order.OrderDate);
            lblOrderNumber.Text = order.Number;

            IsPaid = order.PaymentDate != null && order.PaymentDate != DateTime.MinValue;

            if (order.OrderCurrency != null)
            {
                CurrencyValue = order.OrderCurrency.CurrencyValue;
                CurrencyCode  = order.OrderCurrency.CurrencyCode;
            }

            if (order.OrderCustomer != null)
            {
                var customer = CustomerService.GetCustomer(order.OrderCustomer.CustomerID);
                if (customer != null && customer.Id != Guid.Empty)
                {
                    lnkCustomerName.Text         = order.OrderCustomer.FirstName + @" " + order.OrderCustomer.LastName;
                    lnkCustomerName.NavigateUrl  = @"viewcustomer.aspx?customerid=" + order.OrderCustomer.CustomerID;
                    lnkCustomerEmail.Text        = order.OrderCustomer.Email;
                    lnkCustomerEmail.NavigateUrl = "mailto:" + order.OrderCustomer.Email;
                }
                else
                {
                    lblCustomerEmail.Text = order.OrderCustomer.Email;
                    lblCustomerName.Text  = order.OrderCustomer.FirstName + @" " + order.OrderCustomer.LastName;
                }

                lblCustomerPhone.Text = order.OrderCustomer.MobilePhone;
            }

            if (order.ShippingContact != null)
            {
                lblShippingCountry.Text = order.ShippingContact.Country;
                lblShippingCity.Text    = order.ShippingContact.City;
                lblShippingRegion.Text  = order.ShippingContact.Zone;
                lblShippingZipCode.Text = order.ShippingContact.Zip;
                lblShippingAddress.Text = order.ShippingContact.Address;

                if (!string.IsNullOrEmpty(order.ShippingContact.Country) && !string.IsNullOrEmpty(order.ShippingContact.City) &&
                    !string.IsNullOrEmpty(order.ShippingContact.Zone) && !string.IsNullOrEmpty(order.ShippingContact.Address))
                {
                    lnkShippingAddressOnMap.NavigateUrl = (SettingsOrderConfirmation.PrintOrder_MapType == "googlemap"
                                                                ? "https://maps.google.com/maps?ie=UTF8&z=15&q="
                                                                : "http://maps.yandex.ru/?text=") +
                                                          HttpUtility.UrlEncode(order.ShippingContact.Country + "," + order.ShippingContact.Zone + "," +
                                                                                order.ShippingContact.City + "," + order.ShippingContact.Address);
                }
                else
                {
                    lnkShippingAddressOnMap.Visible = false;
                }
            }

            if (order.BillingContact != null)
            {
                lblBuyerCountry.Text = order.BillingContact.Country;
                lblBuyerRegion.Text  = order.BillingContact.Zone;
                lblBuyerCity.Text    = order.BillingContact.City;
                lblBuyerZip.Text     = order.BillingContact.Zip;
                lblBuyerAddress.Text = order.BillingContact.Address;

                if (!string.IsNullOrEmpty(order.BillingContact.Country) && !string.IsNullOrEmpty(order.BillingContact.City) &&
                    !string.IsNullOrEmpty(order.BillingContact.Zone) && !string.IsNullOrEmpty(order.BillingContact.Address))
                {
                    lnkBuyerAddressOnMap.NavigateUrl = (SettingsOrderConfirmation.PrintOrder_MapType == "googlemap"
                                                            ? "https://maps.google.com/maps?ie=UTF8&z=15&q="
                                                            : "http://maps.yandex.ru/?text=") +
                                                       HttpUtility.UrlEncode(order.BillingContact.Country + "," + order.BillingContact.Zone + "," +
                                                                             order.BillingContact.City + "," + order.BillingContact.Address);
                }
                else
                {
                    lnkBuyerAddressOnMap.Visible = false;
                }
            }

            lblShippingMethodName.Text = order.ArchivedShippingName + (order.OrderPickPoint != null ? "<br />" + order.OrderPickPoint.PickPointAddress : "");
            lblPaymentMethodName.Text  = order.PaymentMethodName;

            var statusesList = OrderService.GetOrderStatuses();

            if (statusesList != null && statusesList.Any(status => status.StatusID == order.OrderStatus.StatusID))
            {
                ddlViewOrderStatus.DataSource = statusesList;
                ddlViewOrderStatus.DataBind();
                ddlViewOrderStatus.SelectedValue = order.OrderStatus.StatusID.ToString();
            }
            else
            {
                ddlViewOrderStatus.Items.Add(new ListItem(order.OrderStatus.StatusName, order.OrderStatus.StatusID.ToString()));
                ddlViewOrderStatus.SelectedValue = order.OrderStatus.StatusID.ToString();
            }
            ddlViewOrderStatus.Attributes["data-orderid"] = order.OrderID.ToString();

            pnlOrderNumber.Attributes["style"] = "border-left-color: #" + order.OrderStatus.Color;

            if (order.OrderCertificates == null || order.OrderCertificates.Count == 0)
            {
                lvOrderItems.DataSource = order.OrderItems;
                lvOrderItems.DataBind();
                lvOrderCertificates.Visible = false;
            }
            else
            {
                lvOrderCertificates.DataSource = order.OrderCertificates;
                lvOrderCertificates.DataBind();
                lvOrderItems.Visible = false;
            }

            lblUserComment.Text = string.IsNullOrEmpty(order.CustomerComment)
                                        ? Resource.Admin_OrderSearch_NoComment
                                        : order.CustomerComment;

            txtAdminOrderComment.Text = string.Format("{0}", order.AdminOrderComment);
            txtStatusComment.Text     = string.Format("{0}", order.StatusComment);

            txtStatusComment.Attributes["data-orderid"]     = order.OrderID.ToString();
            txtAdminOrderComment.Attributes["data-orderid"] = order.OrderID.ToString();

            var shipping = ShippingMethodService.GetShippingMethod(order.ShippingMethodId);

            if (shipping != null)
            {
                OrderPickPoint = order.OrderPickPoint;

                liMultiship.Visible = shipping.Type == ShippingType.Multiship;

                liSendBillingLink.Visible = order.OrderCustomer != null && order.ShippingMethod != null && !order.Payed;

                ShippingTypeIsCdek = shipping.Type == ShippingType.Cdek;

                ShippingTypeIsCheckout = lblCheckoutAdressNotice.Visible = shipping.Type == ShippingType.CheckoutRu;

                if (CustomerContext.CurrentCustomer.CustomerRole == Role.Moderator)
                {
                    var  actions             = RoleActionService.GetCustomerRoleActionsByCustomerId(CustomerContext.CurrentCustomer.Id);
                    bool showSendPaymentLink =
                        actions.Any(a => a.Key == RoleActionKey.DisplaySendPaymentLink && a.Enabled);

                    liSendBillingLink.Visible &= showSendPaymentLink;
                }
            }

            if (BonusSystem.IsActive)
            {
                var purchase = BonusSystemService.GetPurchase(order.Number, order.OrderID);
                if (purchase != null)
                {
                    bonusCardBlock.Visible  = true;
                    lblBonusCardNumber.Text = purchase.CardNumber;
                    lblBonusCardAmount.Text = purchase.NewBonusAmount.ToString();
                }
            }

            if (Settings1C.Enabled)
            {
                divUseIn1C.Visible = true;
                chkUseIn1C.Checked = order.UseIn1C;
                chkUseIn1C.Attributes["data-orderid"] = order.OrderID.ToString();

                var status1C = OrderService.GetStatus1C(order.OrderID);
                if (status1C != null)
                {
                    divStatus1C.Visible = true;
                    lbl1CStatus.Text    = status1C.Status1C;
                }
            }
            else
            {
                divUseIn1C.Visible = false;
            }

            LoadTotal(order);
        }
コード例 #30
0
        public new void SaveData()
        {
            var sm = ShippingMethodService.GetShippingMethodByName(chbPickup.Text);

            if (sm != null)
            {
                ShippingMethodService.DeleteShippingMethod(sm.ShippingMethodId);
            }

            if (chbPickup.Checked)
            {
                var method = new ShippingMethod
                {
                    Type        = ShippingType.FreeShipping,
                    Name        = chbPickup.Text,
                    Description = string.Empty,
                    Enabled     = true,
                    SortOrder   = 0
                };
                ShippingMethodService.InsertShippingMethod(method);
            }

            sm = ShippingMethodService.GetShippingMethodByName(chbCourier.Text);
            if (sm != null)
            {
                ShippingMethodService.DeleteShippingMethod(sm.ShippingMethodId);
            }
            if (chbCourier.Checked)
            {
                var method = new ShippingMethod
                {
                    Type        = ShippingType.FixedRate,
                    Name        = chbCourier.Text,
                    Description = string.Empty,
                    Enabled     = true,
                    SortOrder   = 1
                };
                var id         = ShippingMethodService.InsertShippingMethod(method);
                var parameters = new Dictionary <string, string>
                {
                    { FixeRateShippingTemplate.ShippingPrice, txtCourier.Text },
                    { FixeRateShippingTemplate.Extracharge, "0" },
                };
                ShippingMethodService.UpdateShippingParams(id, parameters);
            }

            sm = ShippingMethodService.GetShippingMethodByName(chbeDost.Text);
            if (sm != null)
            {
                ShippingMethodService.DeleteShippingMethod(sm.ShippingMethodId);
            }
            if (chbeDost.Checked)
            {
                var method = new ShippingMethod
                {
                    Type        = ShippingType.eDost,
                    Name        = chbeDost.Text,
                    Description = string.Empty,
                    Enabled     = true,
                    SortOrder   = 2
                };
                var id         = ShippingMethodService.InsertShippingMethod(method);
                var parameters = new Dictionary <string, string>
                {
                    { EdostTemplate.ShopId, txteDostNumer.Text },
                    { EdostTemplate.Password, txteDostPass.Text },
                };
                ShippingMethodService.UpdateShippingParams(id, parameters);
            }
        }