Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (this.QueryID > 0)
                {
                    OrderBO objOrder = new OrderBO();
                    objOrder.ID = this.QueryID;
                    objOrder.GetObject();

                    OrderDetailBO objOrderDetail = new OrderDetailBO();
                    objOrderDetail.Order = objOrder.ID;
                    List <OrderDetailBO> lstOrderDetails = objOrderDetail.SearchObjects();
                    objOrderDetail = lstOrderDetails.First();

                    this.lblDistributor.Text     = objOrder.objDistributor.Name;
                    this.lblJobName.Text         = objOrder.objClient.Name;
                    this.lblClient.Text          = objOrder.objClient.objClient.Name;
                    this.lblDespatchAddress.Text = objOrder.objDespatchToAddress.CompanyName + "  " + objOrder.objDespatchToAddress.Address + "  "
                                                   + objOrder.objDespatchToAddress.PostCode + "  " + objOrder.objDespatchToAddress.Suburb + "  "
                                                   + objOrder.objDespatchToAddress.PostCode + "  " + objOrder.objDespatchToAddress.State + "  "
                                                   + objOrder.objDespatchToAddress.objCountry.ShortName;;

                    this.lblBillingAddress.Text = objOrder.objBillingAddress.CompanyName + "  " + objOrder.objBillingAddress.Address + "  "
                                                  + objOrder.objBillingAddress.PostCode + "  " + objOrder.objBillingAddress.Suburb + "  "
                                                  + objOrder.objBillingAddress.PostCode + "  " + objOrder.objBillingAddress.State + "  "
                                                  + objOrder.objBillingAddress.objCountry.ShortName;
                    int processingPeriod = 5;
                    int.TryParse(IndicoPage.GetSetting("OPP"), out processingPeriod);
                    lblDateRequiredinCustomersHand.Text = IndicoPage.GetNextWeekday(DayOfWeek.Monday).AddDays(7 * (processingPeriod - 1)).ToString("dd MMMM yyyy");


                    int.TryParse(IndicoPage.GetSetting("OPP"), out processingPeriod);
                    lblShipmentDate.Text = IndicoPage.GetNextWeekday(DayOfWeek.Monday).AddDays(7 * (processingPeriod - 1) - 2).ToString("dd MMMM yyyy");

                    this.lblShipmentTerm.Text = objOrderDetail.objPaymentMethod.Name;
                    this.lblShipmentMode.Text = objOrderDetail.objShipmentMode.Name;

                    this.rptOrderDetails.DataSource = lstOrderDetails;
                    this.rptOrderDetails.DataBind();
                }
            }
        }
Пример #2
0
        private void PopulateDataGrid()
        {
            // Hide Controls
            this.dvEmptyContent.Visible   = false;
            this.dvDataContent.Visible    = false;
            this.dvNoSearchResult.Visible = false;

            // Search text
            string searchText = this.txtSearch.Text.ToLower().Trim();

            ClientOrderDetailsViewBO objClientOrders = new ClientOrderDetailsViewBO();

            objClientOrders.CompanyId = this.LoggedCompany.ID;

            List <ClientOrderDetailsViewBO> lstClientOrders = new List <ClientOrderDetailsViewBO>();

            //Sort by condition
            int sortbyStatus = int.Parse(this.ddlSortBy.SelectedItem.Value);

            if (sortbyStatus != 0)
            {
                if (sortbyStatus == 1)
                {
                    objClientOrders.IsTemporary = true;
                }
                else
                {
                    objClientOrders.IsTemporary = false;
                    objClientOrders.StatusId    = sortbyStatus;
                }
            }

            if ((searchText != string.Empty) && (searchText != "search"))
            {
                lstClientOrders = (from o in objClientOrders.SearchObjects().AsQueryable().OrderBy(SortExpression).ToList()
                                   where o.CompanyName.ToLower().Contains(searchText) ||
                                   //SDU o.OrderNumber.ToLower().Contains(searchText) ||
                                   o.ClientName.ToLower().Contains(searchText) ||
                                   o.OrderType.ToLower().Contains(searchText) ||
                                   o.NamePrefix.ToLower().Contains(searchText) ||
                                   o.NameSuffix.ToString().Contains(searchText) ||
                                   o.PatternNumber.ToLower().Contains(searchText) ||
                                   o.Fabric.ToLower().Contains(searchText) ||
                                   o.FabricNickName.ToLower().Contains(searchText)
                                   select o).ToList();
            }
            else
            {
                lstClientOrders = objClientOrders.SearchObjects().AsQueryable().OrderBy(SortExpression).ToList();
            }

            List <ClientOrderDetailsViewBO> lst = new List <ClientOrderDetailsViewBO>();

            foreach (ClientOrderDetailsViewBO item in lstClientOrders)
            {
                OrderBO objOrder = new OrderBO(this.ObjContext);
                objOrder.ID = (int)item.OrderId;
                objOrder.GetObject();

                UserRole modifierRole = this.GetUserRole(objOrder.objModifier.UserRolesWhereThisIsUser[0].ID);

                if ((modifierRole == UserRole.DistributorAdministrator) || (item.StatusId != 1))
                {
                    lst.Add(item);
                }
            }

            if (lst.Count > 0)
            {
                this.dgOrders.AllowPaging = (lst.Count > this.dgOrders.PageSize);
                this.dgOrders.DataSource  = lst;
                this.dgOrders.DataBind();

                this.dvDataContent.Visible = true;
                this.btnAddOrder.Visible   = true;
            }
            else if ((searchText != string.Empty && searchText != "search") || (sortbyStatus != 0))
            {
                this.lblSerchKey.Text = searchText + ((searchText != string.Empty) ? " - " : string.Empty) + "Sort by " + this.ddlSortBy.SelectedItem.Text;

                this.btnAddOrder.Visible      = true;
                this.dvDataContent.Visible    = true;
                this.dvNoSearchResult.Visible = true;
            }
            else
            {
                this.dvEmptyContent.Visible = true;
                this.btnAddOrder.Visible    = false;
            }
            this.dgOrders.Visible = (lst.Count > 0);
        }
Пример #3
0
        private void ProcessForm()
        {
            //NNM
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    #region Create InvoiceHeader

                    InvoiceBO objInvoice = new InvoiceBO(this.ObjContext);
                    if (QueryID > 0)
                    {
                        objInvoice.ID = this.QueryID;
                        objInvoice.GetObject();
                    }
                    else
                    {
                        objInvoice.Creator     = this.LoggedUser.ID;
                        objInvoice.CreatedDate = DateTime.Now;
                    }
                    objInvoice.InvoiceNo   = this.txtInvoiceNo.Text;
                    objInvoice.InvoiceDate = Convert.ToDateTime(this.txtInvoiceDate.Text);
                    objInvoice.ShipTo      = this.DistributorClientAddress;
                    objInvoice.AWBNo       = this.txtAwbNo.Text;
                    objInvoice.WeeklyProductionCapacity = int.Parse(this.RadComboWeek.SelectedValue);
                    objInvoice.ShipmentMode             = this.ShipmentModeID;
                    objInvoice.IndimanInvoiceNo         = (this.LoggedUserRoleName == UserRole.IndimanAdministrator) ? this.txtIndimanInvoiceNo.Text : string.Empty;
                    objInvoice.IsBillTo = this.chkIsBillTo.Checked;
                    objInvoice.BillTo   = (this.chkIsBillTo.Checked) ? int.Parse(this.ddlBillTo.SelectedValue) : 22;
                    objInvoice.Bank     = int.Parse(this.ddlBank.SelectedValue);

                    if (this.LoggedUserRoleName == UserRole.IndimanAdministrator)
                    {
                        objInvoice.IndimanInvoiceDate = Convert.ToDateTime(this.txtIndimanInvoiceDate.Text);
                    }

                    objInvoice.Modifier     = this.LoggedUser.ID;
                    objInvoice.ModifiedDate = DateTime.Now;

                    this.ObjContext.SaveChanges();

                    ViewState["InvoiceId"] = objInvoice.ID;

                    #endregion

                    #region InvoiceOrderDetail

                    foreach (GridDataItem item in RadInvoice.Items)
                    {
                        TextBox txtRate     = (TextBox)item.FindControl("txtRate");
                        int     id          = int.Parse(((System.Web.UI.WebControls.WebControl)(txtRate)).Attributes["invoiceorder"].ToString());
                        int     orderdetail = int.Parse(((System.Web.UI.WebControls.WebControl)(txtRate)).Attributes["orderdetail"].ToString());

                        TextBox txtIndimanRate = (TextBox)item.FindControl("txtIndimanRate");

                        InvoiceOrderBO objInvoiceOrder = new InvoiceOrderBO(this.ObjContext);
                        if (id > 0)
                        {
                            objInvoiceOrder.ID = id;
                            objInvoiceOrder.GetObject();
                        }

                        objInvoiceOrder.Invoice      = int.Parse(ViewState["InvoiceId"].ToString());
                        objInvoiceOrder.OrderDetail  = orderdetail;
                        objInvoiceOrder.FactoryPrice = Convert.ToDecimal(txtRate.Text);
                        objInvoiceOrder.IndimanPrice = (this.LoggedUserRoleName == UserRole.IndimanAdministrator) ? Convert.ToDecimal(txtIndimanRate.Text) : Convert.ToDecimal("0");
                    }
                    this.ObjContext.SaveChanges();

                    #endregion

                    #region Change Order Detail Status

                    List <int> lstOrders = new List <int>();
                    int        orderid   = 0;

                    if (this.ddlStatus.SelectedItem.Text == "Shipped")
                    {
                        foreach (GridDataItem item in RadInvoice.Items)
                        {
                            TextBox txtRate     = (TextBox)item.FindControl("txtRate");
                            int     orderdetail = int.Parse(((System.Web.UI.WebControls.WebControl)(txtRate)).Attributes["orderdetail"].ToString());

                            OrderDetailBO objOrderDetail = new OrderDetailBO(this.ObjContext);
                            objOrderDetail.ID = orderdetail;
                            objOrderDetail.GetObject();

                            if (objOrderDetail.Order != orderid)
                            {
                                lstOrders.Add(objOrderDetail.Order);
                                orderid = objOrderDetail.Order;
                            }

                            objOrderDetail.Status = 16;
                        }

                        this.ObjContext.SaveChanges();
                    }

                    #endregion

                    #region Change Order Status

                    if (lstOrders.Count > 0)
                    {
                        foreach (int order in lstOrders)
                        {
                            OrderBO objOrder = new OrderBO(this.ObjContext);
                            objOrder.ID = order;
                            objOrder.GetObject();

                            objOrder.Status = 21;
                        }

                        this.ObjContext.SaveChanges();
                    }

                    #endregion

                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                // Log the error
                IndicoLogging.log.Error("Error occured while Adding or Updating Invoicing", ex);
            }
        }