private void GetWeek(int id, int year)
        {
            WeeklyProductionCapacityBO objWeeklyProduntionCapacity = new WeeklyProductionCapacityBO();

            objWeeklyProduntionCapacity.ID = id;
            objWeeklyProduntionCapacity.GetObject();

            WeekComboBox.Text = year + "/" + objWeeklyProduntionCapacity.WeekNo.ToString();
        }
        protected void OnShipmentKeyComboBoxSelectionChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
        {
            var index = RadComboShipmentKey.SelectedIndex;

            if (index < 0)
            {
                return;
            }

            var selectedModel = ShipmentKeys[index];

            if (selectedModel == null)
            {
                return;
            }
            var selectedItem = RadComboShipmentKey.SelectedItem;

            if (selectedItem == null)
            {
                return;
            }

            EnableOrDisableInvoiceInformationControls(true);
            LoadBillToAndShipTo();
            LoadBanks();
            LoadShipmentModes();
            LoadStatus();
            LoadPorts();

            var weeklyCapacityId = int.Parse(WeekComboBox.SelectedItem.Value);
            var obj = new WeeklyProductionCapacityBO {
                ID = weeklyCapacityId
            };

            obj.GetObject();

            int invoiceId;
            var invoices = DB.Invoice(weeklyCapacityId, selectedModel.ShipToID, selectedModel.ShipmentDate.GetSQLDateString());

            if (invoices.Count == 0)
            {
                invoiceId = DB.CreateInvoice(weeklyCapacityId, selectedModel.ShipToID, selectedModel.PortID, obj.WeekendDate.Year + obj.WeekendDate.Month.ToString().PadLeft(2, '0') + obj.WeekendDate.Day.ToString().PadLeft(2, '0'),
                                             selectedModel.ShipmentDate.GetSQLDateString(), selectedModel.PriceTermID, selectedModel.ShipmentModeID, LoggedUser.ID);
            }
            else
            {
                invoiceId = invoices[0].ID;
            }
            if (invoiceId != 0)
            {
                btnCreateInvoice.Visible = true;
                dvNewContent.Visible     = true;
                CostSheetButton.Visible  = true;
                ItemsPanel.Visible       = true;
                LoadInvoiceItems(invoiceId);
            }
        }
Beispiel #3
0
        private WeeklyProductionCapacityBO GetWeeklyProductionCapacityDetails(int id)
        {
            WeeklyProductionCapacityBO objWeeklyProduntionCapacity = new WeeklyProductionCapacityBO();

            objWeeklyProduntionCapacity.ID = id;
            objWeeklyProduntionCapacity.GetObject();

            return(objWeeklyProduntionCapacity);
        }
        protected void linkSave_ServerClick(object sender, EventArgs e)
        {
            if (!IsNotRefresh)
            {
                return;
            }
            try
            {
                using (var ts = new TransactionScope())
                {
                    foreach (GridDataItem item in this.RadGridProductionCapacities.Items)
                    {
                        var linkSave = (HtmlAnchor)item.FindControl("linkSave");

                        var txtCapacity = (TextBox)item.FindControl("txtCapacity");

                        var txtHoliydays = (TextBox)item.FindControl("txtHoliydays");

                        var txtNotes = (TextBox)item.FindControl("txtNotes");

                        var txtSalesTarget = (TextBox)item.FindControl("txtSalesTarget");

                        var id = int.Parse(((System.Web.UI.HtmlControls.HtmlControl)(linkSave)).Attributes["pcid"].ToString());

                        if (id <= 0)
                        {
                            continue;
                        }
                        var objProductionCapacity = new WeeklyProductionCapacityBO(ObjContext)
                        {
                            ID = id
                        };
                        objProductionCapacity.GetObject();

                        objProductionCapacity.Capacity     = int.Parse(txtCapacity.Text.Replace(",", string.Empty));
                        objProductionCapacity.NoOfHolidays = (!string.IsNullOrEmpty(txtHoliydays.Text)) ? int.Parse(txtHoliydays.Text) : 0;
                        objProductionCapacity.Notes        = txtNotes.Text;
                        objProductionCapacity.SalesTarget  = Convert.ToDecimal(txtSalesTarget.Text);
                    }

                    ObjContext.SaveChanges();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                IndicoLogging.log.Error("Error occured while updaing Production Capacities Details in ViewProductionCapacities.aspx", ex);
            }

            PopulateDataGrid();
        }
        protected void btnNewCorrectDates_Click(object sender, EventArgs e)
        {
            for (int j = 2013; j <= 2018; j++)
            {
                bool   isLeap      = false;
                string currentYear = j.ToString();

                List <WeeklyProductionCapacityBO> lstWeeklyProdCap = (new WeeklyProductionCapacityBO()).SearchObjects();

                DateTime dFirst = DateTime.Parse("01 / 01 /" + currentYear);
                DateTime dLast  = DateTime.Parse("31 / 12 /" + currentYear);
                if ((int.Parse(currentYear) % 4 == 0) && (int.Parse(currentYear) % 100 != 0) || (int.Parse(currentYear) % 400 == 0))
                {
                    isLeap = true;
                }

                int      weekCount    = (isLeap == true) ? this.GetWeeksInYear(int.Parse(currentYear), dLast) : int.Parse((dLast.Subtract(dFirst).Days / 7).ToString());
                DateTime firstTuesday = dFirst;
                while (firstTuesday.DayOfWeek != DayOfWeek.Tuesday)
                {
                    firstTuesday = firstTuesday.AddDays(1);
                }

                DateTime firstFriday = dFirst;
                while (firstFriday.DayOfWeek != DayOfWeek.Friday)
                {
                    firstFriday = firstFriday.AddDays(1);
                }

                for (int i = 1; i <= weekCount; i++)
                {
                    WeeklyProductionCapacityBO objProductionCapacity = new WeeklyProductionCapacityBO(this.ObjContext);
                    foreach (WeeklyProductionCapacityBO k in objProductionCapacity.GetAllObject())
                    {
                        if (k.WeekNo == i && k.WeekendDate.Year == firstFriday.Year && k.WeekendDate.Month == firstFriday.Month && k.WeekendDate.Day == firstFriday.Day)
                        {
                            WeeklyProductionCapacityBO update = new WeeklyProductionCapacityBO(this.ObjContext);
                            update.ID = k.ID;
                            update.GetObject();

                            update.WeekendDate = firstTuesday;
                            this.ObjContext.SaveChanges();
                            break;
                        }
                    }

                    firstTuesday = firstTuesday.AddDays(7);
                    firstFriday  = firstFriday.AddDays(7);
                }
            }
        }
        protected void OnlnkEditCapacityClick(object sender, EventArgs e)
        {
            try
            {
                foreach (GridDataItem item in WeeklyPiecesSummaryRedGrid.Items)
                {
                    var txtCapacity    = (TextBox)item.FindControl("txtCapacity");
                    var txtHolidays    = (TextBox)item.FindControl("txtHolidays");
                    var txtSalesTarget = (TextBox)item.FindControl("txtSalesTarget");

                    var linkEditCapacity = (LinkButton)item.FindControl("linkEditCapacity");
                    var pcid             = int.Parse(linkEditCapacity.Attributes["pcid"]);

                    if (pcid <= 0 || txtCapacity == null || txtHolidays == null)
                    {
                        continue;
                    }
                    using (var ts = new TransactionScope())
                    {
                        var objWeeklyProductionCapacity = new WeeklyProductionCapacityBO(ObjContext)
                        {
                            ID = pcid
                        };
                        objWeeklyProductionCapacity.GetObject();

                        var capacity = txtCapacity.Text.Replace(",", "");

                        objWeeklyProductionCapacity.Capacity     = int.Parse(capacity);
                        objWeeklyProductionCapacity.NoOfHolidays = int.Parse(txtHolidays.Text);
                        objWeeklyProductionCapacity.SalesTarget  = decimal.Parse(txtSalesTarget.Text);

                        ObjContext.SaveChanges();
                        ts.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                IndicoLogging.log.Error("Error occurred while editing weekly capacity and weekly holidays in ViewWeeklyCpacities.aspx", ex);
            }
            PopulateDataGrid();
        }
        protected void btnSaveChanges_Click(object sender, EventArgs e)
        {
            int itemId = int.Parse(this.hdnSelectedProductionCapacityID.Value.ToString().Trim());

            if (Page.IsValid)
            {
                this.ProcessForm(itemId, false);
                Response.Redirect("/ViewProductionCapacities.aspx");
            }
            else
            {
                WeeklyProductionCapacityBO objProductionCapacity = new WeeklyProductionCapacityBO();
                objProductionCapacity.ID = itemId;
                objProductionCapacity.GetObject();
                lblWeekNo.Text          = objProductionCapacity.WeekNo + "_" + objProductionCapacity.WeekendDate.Year;
                lblFridayOfWeekPop.Text = objProductionCapacity.WeekendDate.ToString("dd/MM/yyy");

                ViewState["IsPageValied"]      = (Page.IsValid);
                this.validationSummary.Visible = !(Page.IsValid);
            }
        }
        protected void linkEditCapacity_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (GridDataItem item in RadGridWeeklySummary.Items)
                {
                    TextBox txtCapacity    = (TextBox)item.FindControl("txtCapacity");
                    TextBox txtHolidays    = (TextBox)item.FindControl("txtHolidays");
                    TextBox txtSalesTarget = (TextBox)item.FindControl("txtSalesTarget");

                    LinkButton linkEditCapacity = (LinkButton)item.FindControl("linkEditCapacity");
                    int        pcid             = int.Parse(linkEditCapacity.Attributes["pcid"].ToString());

                    if (pcid > 0 && txtCapacity != null && txtHolidays != null)
                    {
                        using (TransactionScope ts = new TransactionScope())
                        {
                            WeeklyProductionCapacityBO objWeeklyProductionCapacity = new WeeklyProductionCapacityBO(this.ObjContext);
                            objWeeklyProductionCapacity.ID = pcid;
                            objWeeklyProductionCapacity.GetObject();

                            string capacity = txtCapacity.Text.Replace(",", "");

                            objWeeklyProductionCapacity.Capacity     = int.Parse(capacity);
                            objWeeklyProductionCapacity.NoOfHolidays = int.Parse(txtHolidays.Text);
                            objWeeklyProductionCapacity.SalesTarget  = decimal.Parse(txtSalesTarget.Text);

                            this.ObjContext.SaveChanges();
                            ts.Complete();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                IndicoLogging.log.Error("Error occured while editing weekly capcity and weekly holidays in ViewWeeklyCpacities.aspx", ex);
            }
            this.PopulateDataGrid();
        }
        private void ProcessForm(int queryId, bool isDelete)
        {
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    WeeklyProductionCapacityBO objProductionCapacity = new WeeklyProductionCapacityBO(this.ObjContext);
                    if (queryId > 0)
                    {
                        objProductionCapacity.ID = queryId;
                        objProductionCapacity.GetObject();
                    }

                    if (isDelete)
                    {
                        objProductionCapacity.Delete();
                    }
                    else
                    {
                        //objProductionCapacity.Name = this.txtAttributeName.Text;
                        //objProductionCapacity.Description = this.txtDescription.Text;

                        if (queryId == 0)
                        {
                            objProductionCapacity.Add();
                        }
                    }

                    this.ObjContext.SaveChanges();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                // Log the error
                //IndicoLogging.log("Error occured while Adding the Item", ex);
            }
        }
        //last modified by - rusith
        private void PopulateProductionCapacityDetails(int proCapID)
        {
            if (IsNotRefresh)
            {
                var objProCap = new WeeklyProductionCapacityBO();
                objProCap.ID = proCapID;
                objProCap.GetObject();

                lblWeekNo.Text          = objProCap.WeekNo + "-" + objProCap.WeekendDate.Year;
                lblFridayOfWeekPop.Text = objProCap.WeekendDate.ToString("dd MMMM yyyy");

                this.txtWorkingDays.Text = objProCap.NoOfHolidays.ToString();
                txtWorkingHours.Text     = objProCap.HoursPerDay.ToString();
                txtOrderCutOffDate.Text  = objProCap.OrderCutOffDate.HasValue ? objProCap.OrderCutOffDate.Value.ToString("dd MMMM yyyy") : string.Empty;
                txtETD.Text        = objProCap.EstimatedDateOfDespatch.HasValue ? objProCap.EstimatedDateOfDespatch.Value.ToString("dd MMMM yyyy") : string.Empty;
                txtETA.Text        = objProCap.EstimatedDateOfArrival.HasValue ? objProCap.EstimatedDateOfArrival.Value.ToString("dd MMMM yyyy") : string.Empty;
                txtNotes.Text      = objProCap.Notes;
                txtSalesTaget.Text = objProCap.SalesTarget.GetValueOrDefault().ToString();

                var objCapacity = new WeeklyProductionCapacityDetailsBO {
                    WeeklyProductionCapacity = proCapID
                };
                var lstCapDetails = objCapacity.SearchObjects();
                var lstTypes      = (new ItemTypeBO()).SearchObjects();

                var lstProductCapacityDetails = lstTypes.Select(objType => new KeyValuePair <ItemTypeBO, KeyValuePair <WeeklyProductionCapacityBO, WeeklyProductionCapacityDetailsBO> >(objType, new KeyValuePair <WeeklyProductionCapacityBO, WeeklyProductionCapacityDetailsBO>(objProCap, lstCapDetails.FirstOrDefault(m => m.ItemType == objType.ID)))).ToList();

                rptItemTypes.DataSource = lstProductCapacityDetails;
                rptItemTypes.DataBind();
                ViewState["IsPopulateModel"] = true;
            }
            else
            {
                ViewState["IsPopulateModel"] = false;
                ViewState["IsPageValid"]     = true;
            }
        }
        private void ProcessForm(int queryId, bool isDelete)
        {
            try
            {
                using (var ts = new TransactionScope())
                {
                    var objProductionCapacity = new WeeklyProductionCapacityBO(ObjContext);
                    if (queryId > 0)
                    {
                        objProductionCapacity.ID = queryId;
                        objProductionCapacity.GetObject();
                    }
                    if (isDelete)
                    {
                        objProductionCapacity.Delete();
                    }

                    else
                    {
                        objProductionCapacity.NoOfHolidays            = int.Parse(txtWorkingDays.Text);
                        objProductionCapacity.HoursPerDay             = decimal.Parse(txtWorkingHours.Text);
                        objProductionCapacity.OrderCutOffDate         = DateTime.Parse(txtOrderCutOffDate.Text);
                        objProductionCapacity.EstimatedDateOfDespatch = DateTime.Parse(txtETD.Text);
                        objProductionCapacity.EstimatedDateOfArrival  = DateTime.Parse(txtETA.Text);
                        objProductionCapacity.Notes       = txtNotes.Text;
                        objProductionCapacity.SalesTarget = decimal.Parse(txtSalesTaget.Text);

                        foreach (RepeaterItem rptItem in rptItemTypes.Items)
                        {
                            var hdnProdCapDetailID = (HiddenField)rptItem.FindControl("hdnProdCapDetailID");
                            var hdnItemTypeID      = (HiddenField)rptItem.FindControl("hdnItemTypeID");
                            var txtTotalCapacity   = (TextBox)rptItem.FindControl("txtTotalCapacity");
                            var txt5PcsCapacity    = (TextBox)rptItem.FindControl("txt5PcsCapacity");
                            var txtSampleCapacity  = (TextBox)rptItem.FindControl("txtSampleCapacity");
                            var txtWorkers         = (TextBox)rptItem.FindControl("txtWorkers");
                            var txtEfficiency      = (TextBox)rptItem.FindControl("txtEfficiency");
                            var objProdCapDetailBO = new WeeklyProductionCapacityDetailsBO(ObjContext);
                            if (int.Parse(hdnProdCapDetailID.Value) > 0)
                            {
                                objProdCapDetailBO.ID = int.Parse(hdnProdCapDetailID.Value);
                                objProdCapDetailBO.GetObject();
                            }
                            else
                            {
                                objProdCapDetailBO.WeeklyProductionCapacity = queryId;
                                objProdCapDetailBO.ItemType = int.Parse(hdnItemTypeID.Value);
                            }
                            objProdCapDetailBO.TotalCapacity   = int.Parse(txtTotalCapacity.Text) * objProductionCapacity.NoOfHolidays;
                            objProdCapDetailBO.FivePcsCapacity = int.Parse(txt5PcsCapacity.Text) * objProductionCapacity.NoOfHolidays;
                            objProdCapDetailBO.SampleCapacity  = int.Parse(txtSampleCapacity.Text) * objProductionCapacity.NoOfHolidays;
                            objProdCapDetailBO.Workers         = int.Parse(txtWorkers.Text);
                            objProdCapDetailBO.Efficiency      = decimal.Parse(txtEfficiency.Text);
                        }
                        if (queryId == 0)
                        {
                            objProductionCapacity.Add();
                        }
                    }
                    ObjContext.SaveChanges();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                IndicoLogging.log.Error("Error occurred while Adding or Editing  or Deleting  the details in Production Capacity", ex);
            }
        }