Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            access = Access.Check();
            if (!access.Write)
            {
                lbtnSave.Visible = false;
            }

            Title = "Заказ - LeadForce";

            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbOrderType, dcbOrderType);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(ucPriceList, ucPriceList);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(rdpOrderDate, ucOrderProducts, null, UpdatePanelRenderMode.Inline);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbOrderType, plExpirationDate);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(dcbOrderType, plDeliveryDate);
            RadAjaxManager.GetCurrent(Page).AjaxSettings.AddAjaxSetting(ucOrderProducts, lrlOrdered);

            dcbOrderType.SelectedIndexChanged    += dcbOrderType_SelectedIndexChanged;
            ucPriceList.SelectedIndexChanged     += ucPriceList_SelectedIndexChanged;
            rdpOrderDate.SelectedDateChanged     += rdpOrderDate_SelectedDateChanged;
            ucOrderProducts.SiteId                = SiteId;
            ucOrderProducts.OrderProductsChanged += ucOrderProducts_OrderProductsChanged;

            if (Page.RouteData.Values["id"] != null)
            {
                _orderId = Guid.Parse(Page.RouteData.Values["id"] as string);
            }

            ucTaskList.OrderId = _orderId;
            ucTaskList.SiteId  = SiteId;

            hlCancel.NavigateUrl = UrlsData.AP_Orders();

            tagsOrder.ObjectID = _orderId;

            if (!Page.IsPostBack)
            {
                BindData();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Handles the OnClick event of the lbtnSave control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void lbtnSave_OnClick(object sender, EventArgs e)
        {
            if (!access.Write)
            {
                return;
            }

            var order = DataManager.Order.SelectById(SiteId, _orderId) ?? new tbl_Order();

            order.CreatedAt     = (DateTime)rdpOrderDate.SelectedDate;
            order.OrderTypeID   = dcbOrderType.SelectedId;
            order.OrderStatusID = int.Parse(ddlOrderStatus.SelectedValue);
            order.Note          = txtNote.Text;

            if (dcbExecutorCompany.SelectedId != Guid.Empty)
            {
                order.ExecutorCompanyID = dcbExecutorCompany.SelectedId;
            }
            else
            {
                order.ExecutorCompanyID = null;
            }

            if (dcbBuyerCompany.SelectedId != Guid.Empty)
            {
                order.BuyerCompanyID = dcbBuyerCompany.SelectedId;
            }
            else
            {
                order.BuyerCompanyID = null;
            }

            order.BuyerContactID    = ucBuyerContact.SelectedValue;
            order.ExecutorContactID = ucExecutorContact.SelectedValue;

            order.ExpirationDateBegin = rdpExpirationDateBegin.SelectedDate;
            order.ExpirationDateEnd   = rdpExpirationDateEnd.SelectedDate;
            order.PlannedDeliveryDate = rdpPlannedDeliveryDate.SelectedDate;
            order.ActualDeliveryDate  = rdpActualDeliveryDate.SelectedDate;

            if (ucPriceList.SelectedId != Guid.Empty)
            {
                order.PriceListID = ucPriceList.SelectedId;
            }
            else
            {
                order.PriceListID = null;
            }

            order.Ordered = ucOrderProducts.OrderProductsList.Sum(orderProduct => orderProduct.TotalAmount);

            if (order.ID == Guid.Empty)
            {
                order.SiteID  = SiteId;
                order.OwnerID = CurrentUser.Instance.ContactID;

                var orderType = DataManager.OrderType.SelectById(SiteId, order.OrderTypeID);
                if (orderType != null && orderType.NumeratorID.HasValue)
                {
                    var documentNumerator = DocumentNumerator.GetNumber((Guid)orderType.NumeratorID, order.CreatedAt, orderType.tbl_Numerator.Mask, "tbl_Order");
                    order.Number       = documentNumerator.Number;
                    order.SerialNumber = documentNumerator.SerialNumber;
                }

                DataManager.Order.Add(order);
            }
            else
            {
                DataManager.Order.Update(order);
            }

            DataManager.OrderProducts.Update(ucOrderProducts.OrderProductsList, order.ID);

            tagsOrder.SaveTags(order.ID);

            Response.Redirect(UrlsData.AP_Orders());
        }