Ejemplo n.º 1
0
        public string WriteGramentSpecXML(PatternBO ObjPattern)
        {
            List <SizeChartBO> lstSizeCharts = ObjPattern.SizeChartsWhereThisIsPattern.Where(o => o.objMeasurementLocation.IsSend == true).ToList();
            StringWriter       sw            = new StringWriter();
            string             s             = string.Empty;

            if (lstSizeCharts.Count > 0)
            {
                List <IGrouping <int, SizeChartBO> > lstSizeChartGroup = lstSizeCharts.OrderBy(o => o.objMeasurementLocation.Key).GroupBy(o => o.MeasurementLocation).ToList();

                using (XmlTextWriter writer = new XmlTextWriter(sw))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement("xml");
                    writer.WriteStartElement("mdtl");


                    writer.WriteStartElement("szs");


                    foreach (SizeChartBO sizeChart in lstSizeChartGroup[0].ToList())
                    {
                        //bool isPrint = false;

                        /* foreach (var sizeChar in lstSizeChartGroup.Select(m => m.First()).ToList())
                         * {
                         *   List<SizeChartBO> lstSizeChart = ObjPattern.SizeChartsWhereThisIsPattern.Where(m => m.MeasurementLocation == sizeChar.MeasurementLocation && m.Size == sizeChart.Size && m.objMeasurementLocation.IsSend == true).ToList();
                         *
                         *   int valcount = 0;
                         *
                         *   foreach (var item in lstSizeChart)
                         *   {
                         *       if (item.Val == 0)
                         *       {
                         *           valcount++;
                         *       }
                         *   }
                         *
                         *   if (lstSizeChart.Count != valcount)
                         *   {
                         *       isPrint = true;
                         *   }
                         * }*/

                        SizeChartBO objSC = new SizeChartBO();
                        objSC.Size = sizeChart.Size;


                        if (objSC.SearchObjects().Where(o => o.Val == 0).Count() != objSC.SearchObjects().Count())
                        {
                            writer.WriteElementString("sz", sizeChart.objSize.SizeName);
                        }
                    }

                    writer.WriteEndElement();

                    writer.WriteStartElement("mnts");
                    foreach (var sizeChart in lstSizeChartGroup.Select(m => m.First()).ToList())
                    {
                        List <SizeChartBO> lstSizeChart = ObjPattern.SizeChartsWhereThisIsPattern.Where(m => m.MeasurementLocation == sizeChart.MeasurementLocation && m.objMeasurementLocation.IsSend == true).ToList();


                        int count = lstSizeChart.Where(o => o.Val == 0).Count();

                        //foreach (var item in lstSizeChart)
                        //{
                        //    if (item.Val == 0)
                        //    {
                        //        count++;
                        //    }
                        //}


                        if (lstSizeChart.Count != count)
                        {
                            writer.WriteStartElement("mnt");
                            writer.WriteElementString("mpnt", sizeChart.objMeasurementLocation.Key + ". " + sizeChart.objMeasurementLocation.Name);
                            writer.WriteStartElement("unts");
                        }


                        foreach (var values in lstSizeChart.ToList())
                        {
                            //int valueCount = 0;

                            //foreach (var item in lstSizeChart)
                            //{
                            //    if (values.Val == 0)
                            //    {
                            //        valueCount++;
                            //    }
                            //}

                            SizeChartBO objSizeChart = new SizeChartBO();
                            objSizeChart.Size = values.Size;


                            if ((lstSizeChart.Count != count) && (objSizeChart.SearchObjects().Where(o => o.Val == 0).Count() != objSizeChart.SearchObjects().Count()))
                            {
                                writer.WriteElementString("unt", Math.Round(Convert.ToDecimal(values.Val), 0).ToString());
                            }
                        }
                        if (lstSizeChart.Count != count)
                        {
                            writer.WriteEndElement();
                            writer.WriteEndElement();
                        }
                    }

                    writer.WriteEndElement();
                    writer.WriteEndElement();
                    writer.WriteEndElement();

                    writer.Flush();

                    s = sw.ToString().Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", string.Empty);

                    /* string textFilePath = IndicoConfiguration.AppConfiguration.PathToDataFolder + @"\Temp\pattern_" + ObjPattern.Number + ".txt";
                     * System.IO.StreamWriter file = new System.IO.StreamWriter(textFilePath, false);
                     * file.WriteLine(s);
                     * file.Close();*/
                }
            }
            return(s);
        }
        // GET api/PatternDetails
        public PatternDetailModel Get(string number)
        {
            PatternDetailModel objModel = new PatternDetailModel();

            try
            {
                PatternBO objPattern = new PatternBO();
                objPattern.IsActiveWS = true;
                objPattern.IsActive   = true;
                objPattern.Number     = number;
                objPattern            = objPattern.SearchObjects().SingleOrDefault();

                if (objPattern != null && objPattern.Creator > 0)
                {
                    objModel.Pattern     = objPattern.ID;
                    objModel.Number      = objPattern.Number;
                    objModel.Remarks     = objPattern.Remarks;
                    objModel.Gender      = objPattern.objGender.Name;
                    objModel.Description = objPattern.Description;

                    if ((objPattern.PatternCompressionImage ?? 0) > 0)
                    {
                        objModel.GarmentSpecChartImagePath = PopulatePatternCompressionImage(objPattern);
                    }
                    else
                    {
                        List <MeasurementLocation> lstMLocations = new List <MeasurementLocation>();

                        SizeChartBO objSChart = new SizeChartBO();
                        objSChart.Pattern = objPattern.ID;
                        List <SizeChartBO> lstSizeCharts = objSChart.SearchObjects().Where(o => o.objMeasurementLocation.IsSend == true && o.Val > 0).ToList();

                        List <MeasurementLocationBO> lstLocations = lstSizeCharts.Select(m => m.objMeasurementLocation).Distinct().ToList();

                        IEnumerable <IGrouping <string, MeasurementLocationBO> > lst = lstLocations.GroupBy(m => m.Name);

                        foreach (IGrouping <string, MeasurementLocationBO> objML in lst)
                        {
                            MeasurementLocation location = new MeasurementLocation();
                            location.Name = objML.Key;

                            List <SizeChartBO> lstMSizes = lstSizeCharts.Where(m => m.MeasurementLocation == objML.ElementAtOrDefault(0).ID).ToList();

                            foreach (SizeChartBO objSize in lstMSizes)
                            {
                                location.ListSizes.Add(new Size {
                                    name = objSize.objSize.SizeName, Value = objSize.Val.ToString()
                                });
                            }

                            lstMLocations.Add(location);
                        }

                        objModel.ListMeasurementLocations = lstMLocations;
                    }

                    //Populate Images
                    PatternTemplateImageBO objOtherImage = new PatternTemplateImageBO();
                    objOtherImage.Pattern = objPattern.ID;
                    List <PatternTemplateImageBO> lstOtherImages = objOtherImage.SearchObjects();

                    List <PatternTemplateImageBO> lstOtherImages1 = lstOtherImages.Where(o => o.ImageOrder == 1).ToList();
                    List <PatternTemplateImageBO> lstOtherImages2 = lstOtherImages.Where(o => o.ImageOrder == 2).ToList();
                    List <PatternTemplateImageBO> lstOtherImages3 = lstOtherImages.Where(o => o.ImageOrder == 3).ToList();

                    objModel.GarmentImagePath1    = TemplateImagePath(lstOtherImages1);
                    objModel.GarmentImagePath2    = TemplateImagePath(lstOtherImages2);
                    objModel.GarmentImagePath3    = TemplateImagePath(lstOtherImages3);
                    objModel.GarmentSpecImagePath = TemplateImagePath(lstOtherImages.Where(o => o.IsHero).ToList(), true);
                }
            }
            catch (Exception ex)
            {
                objModel.Ex = ex;
            }

            return(objModel);
        }
Ejemplo n.º 3
0
        public string CreateHtml(PatternBO objPattern, string convertType, bool tbodyOnly, bool isAllSizes)
        {
            string tbody = "<tr>" +
                           "    <td></td>" +
                           "    <$measurementposition$>" +
                           "</tr>" +
                           "<$records$>";

            string garmentspec = GarmentSpecHtml;

            garmentspec = garmentspec.Replace("<$type$>", (convertType == "0") ? "1.0 cm" : "0.5 inch");

            //List<SizeChartBO> lstSizeCharts = objPattern.SizeChartsWhereThisIsPattern.Where(o => o.objMeasurementLocation.IsSend == true).ToList();
            SizeChartBO objSChart = new SizeChartBO();

            objSChart.Pattern = objPattern.ID;
            List <SizeChartBO> lstSizeCharts = objSChart.SearchObjects().Where(o => o.Val > 0).ToList();

            if (!isAllSizes)
            {
                lstSizeCharts = objSChart.SearchObjects().Where(o => o.objMeasurementLocation.IsSend == true).ToList();
            }

            if (lstSizeCharts.Count > 0)
            {
                string tabledata = string.Empty;
                string records   = string.Empty;
                string style     = string.Empty;
                List <IGrouping <int, SizeChartBO> > lstSizeChartGroup = lstSizeCharts.OrderBy(o => o.objMeasurementLocation.Key).GroupBy(o => o.MeasurementLocation).ToList();

                foreach (SizeChartBO sizeChart in lstSizeChartGroup[0].ToList())
                {
                    //SizeChartBO objSC = new SizeChartBO();
                    //objSC.Size = sizeChart.Size;

                    //if (objSC.SearchObjects().Where(o => o.Val == 0).Count() != objSC.SearchObjects().Count())
                    //{
                    //    tabledata += "<td align=\"center\" bgcolor=\"#CCCCCC\" style=\"background-color: #CCCCCC; width: 35px; font-weight: bold;\">" + sizeChart.objSize.SizeName + "</td>";
                    //}

                    //if (sizeChart.Val > 0)
                    //{
                    if (tbodyOnly)
                    {
                        tabledata += "<td>" + sizeChart.objSize.SizeName + "</td>";
                    }
                    else
                    {
                        tabledata += "<td align=\"center\" bgcolor=\"#CCCCCC\" style=\"background-color: #CCCCCC; width: 35px; font-weight: bold;\">" + sizeChart.objSize.SizeName + "</td>";
                    }
                    //}
                }

                tbody       = tbody.Replace("<$measurementposition$>", tabledata);
                garmentspec = garmentspec.Replace("<$measurementposition$>", tabledata);
                bool alternativeRow = false;

                var listTR = lstSizeChartGroup.Select(m => m.First()).ToList();
                foreach (var sizeChart in listTR)
                {
                    //List<SizeChartBO> lstSizeChart = objPattern.SizeChartsWhereThisIsPattern.Where(m => m.MeasurementLocation == sizeChart.MeasurementLocation && m.objMeasurementLocation.IsSend == true).ToList();
                    //int count = lstSizeChart.Where(o => o.Val == 0).Count();

                    //if (lstSizeChart.Count != count)
                    //{
                    //    style = (alternativeRow) ? "#CCCCCC" : "#F5F5F5";
                    //    records += "<tr>";
                    //    records += "<td align=\"left\" bgcolor=" + style + " width=\"250\">" + sizeChart.objMeasurementLocation.Key + ". " + sizeChart.objMeasurementLocation.Name + "</td>";
                    //}

                    //if (sizeChart.Val > 0)
                    //{
                    if (tbodyOnly)
                    {
                        records += "<td>" + sizeChart.objMeasurementLocation.Key + ". " + sizeChart.objMeasurementLocation.Name + "</td>";
                    }
                    else
                    {
                        style    = (alternativeRow) ? "#CCCCCC" : "#F5F5F5";
                        records += "<tr>";
                        records += "<td align=\"left\" bgcolor=" + style + " width=\"250\">" + sizeChart.objMeasurementLocation.Key + ". " + sizeChart.objMeasurementLocation.Name + "</td>";
                    }
                    //}

                    //foreach (var values in lstSizeChart.ToList())
                    //{
                    //    SizeChartBO objSizeChart = new SizeChartBO();
                    //    objSizeChart.Size = values.Size;

                    //    if ((lstSizeChart.Count != count) && (objSizeChart.SearchObjects().Where(o => o.Val == 0).Count() != objSizeChart.SearchObjects().Count()))
                    //    {
                    //        records += (convertType == "0") ? "<td align=\"center\" bgcolor=" + style + " style=\"width: 250px;\">" + Math.Round(Convert.ToDecimal(values.Val.ToString()), 0) + "</td>" :
                    //           "<td align=\"center\" bgcolor=" + style + " style=\"width: 250px;\">" +
                    //           Math.Round((values.Val * (decimal)0.39), 0) + "</td>";
                    //    }
                    //}
                    List <SizeChartBO> lstSizeChart = lstSizeCharts.Where(m => m.MeasurementLocation == sizeChart.MeasurementLocation).ToList();
                    foreach (var values in lstSizeChart.ToList())
                    {
                        //SizeChartBO objSizeChart = new SizeChartBO();
                        //objSizeChart.Size = values.Size;

                        //if ((lstSizeChart.Count != count) && (objSizeChart.SearchObjects().Where(o => o.Val == 0).Count() != objSizeChart.SearchObjects().Count()))
                        //{
                        //    records += (convertType == "0") ? "<td align=\"center\" bgcolor=" + style + " style=\"width: 250px;\">" + Math.Round(Convert.ToDecimal(values.Val.ToString()), 0) + "</td>" :
                        //       "<td align=\"center\" bgcolor=" + style + " style=\"width: 250px;\">" +
                        //       Math.Round((values.Val * (decimal)0.39), 0) + "</td>";
                        //}
                        //if (values.Val > 0)
                        //{
                        if (tbodyOnly)
                        {
                            records += "<td><label class=\"cm\">" + Math.Round(Convert.ToDecimal(values.Val.ToString()), 1).ToString() + "</label><label class=\"inches\">" + Math.Round((values.Val * (decimal)0.39), 1).ToString("0.0") + "</label></td>";
                        }
                        else
                        {
                            records += (convertType == "0") ? "<td align=\"center\" bgcolor=" + style + " style=\"width: 250px;\">" + Math.Round(Convert.ToDecimal(values.Val.ToString()), 1) + "</td>" :
                                       "<td align=\"center\" bgcolor=" + style + " style=\"width: 250px;\">" +
                                       Math.Round((values.Val * (decimal)0.39), 1) + "</td>";
                        }
                        //}
                    }

                    records       += "</tr>";
                    alternativeRow = !alternativeRow;
                }
                tbody       = tbody.Replace("<$records$>", records);
                garmentspec = garmentspec.Replace("<$records$>", records);
            }

            if (tbodyOnly)
            {
                return(tbody);
            }
            else
            {
                return(garmentspec);
            }
        }
Ejemplo n.º 4
0
        //protected void dataGridSizeSets_ItemDataBound(object sender, DataGridItemEventArgs e)
        //{
        //    DataGridItem item = e.Item;
        //    if (item.ItemIndex > -1 && item.DataItem is SizeSetBO)
        //    {
        //        SizeSetBO objSizeSets = (SizeSetBO)item.DataItem;

        //        LinkButton linkEdit = (LinkButton)item.FindControl("linkEdit");
        //        linkEdit.Attributes.Add("qid", objSizeSets.ID.ToString());
        //    }
        //}

        //protected void dataGridSizeSets_SortCommand(object source, DataGridSortCommandEventArgs e)
        //{
        //    string sortDirection = String.Empty;
        //    if (!SortExpression.ToUpper().StartsWith(e.SortExpression) && !SortExpression.ToUpper().Trim().EndsWith("ASC"))
        //    {
        //        sortDirection = " asc";
        //    }
        //    else
        //    {
        //        sortDirection = (SortExpression.ToUpper().EndsWith("DESC")) ? " asc" : " desc";
        //    }
        //    this.SortExpression = e.SortExpression + sortDirection;

        //    this.PopulateDataGrid();

        //    foreach (DataGridColumn col in this.dataGridSizeSets.Columns)
        //    {
        //        if (col.Visible && col.SortExpression == e.SortExpression)
        //        {
        //            col.HeaderStyle.CssClass = "selected " + ((sortDirection.ToUpper() != " DESC") ? "sortDown" : "sortUp");
        //        }
        //        else
        //        {
        //            col.HeaderStyle.CssClass = "";
        //        }
        //    }
        //}

        //protected void dataGridSizeSets_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        //{
        //     Set page index
        //    this.dataGridSizeSets.CurrentPageIndex = e.NewPageIndex;

        //    this.PopulateDataGrid();
        //}

        //protected void dataGridSizeSets_ItemCommand(object sender, DataGridCommandEventArgs e)
        //{
        //    if (e.CommandName == "Edit")
        //    {
        //        List<SizeSetBO> lstExistingItems = (new SizeBO()).SearchObjects().GroupBy(o => o.SizeSet).Select(m => m.First().objSizeSet).ToList();

        //        this.ddlSizeSet.Items.Clear();
        //        this.ddlSizeSet.Items.Add(new ListItem("Select Size Set", "0"));
        //        foreach (SizeSetBO item in lstExistingItems)
        //        {
        //            this.ddlSizeSet.Items.Add(new ListItem(item.Name, item.ID.ToString()));
        //        }

        //        this.ddlSizeSet.Items.FindByValue(((System.Web.UI.WebControls.TableRow)(e.Item)).Cells[0].Text).Selected = true;
        //        this.linkAddNew.Visible = true;

        //        this.PopulateSizeSet(false);
        //        this.hdnIsNewSizeSet.Value = "0";
        //    }
        //}

        protected void dgAddEditSizes_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            DataGridItem item = e.Item;

            //if ((item.ItemIndex > -1 && item.DataItem is SizeBO) && (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem))
            if (item.ItemIndex > -1 && item.DataItem is KeyValuePair <int, SizeBO> )
            {
                KeyValuePair <int, SizeBO> objSize = (KeyValuePair <int, SizeBO>)item.DataItem;
                bool canDelete = true;

                if (objSize.Key > 0)
                {
                    //bool canDelete = (objSize.OrderDetailQtysWhereThisIsSize.Count == 0 && objSize.SizeChartsWhereThisIsSize.Count == 0);
                    OrderDetailQtyBO objODQ = new OrderDetailQtyBO();
                    objODQ.Size = objSize.Key;

                    SizeChartBO objSC = new SizeChartBO();
                    objSC.Size = objSize.Key;
                    canDelete  = !(objSC.SearchObjects().Any() || objODQ.SearchObjects().Any());
                }

                /*CheckBox chkIsDefault = (CheckBox)item.FindControl("chkIsDefault");
                 * chkIsDefault.Checked = objSize.IsDefault;
                 * chkIsDefault.Enabled = false;
                 *
                 * Literal lblID = (Literal)item.FindControl("lblID");
                 * lblID.Text = objSize.ID.ToString();
                 *
                 * Literal lblSeqNo = (Literal)item.FindControl("lblSeqNo");
                 * lblSeqNo.Text = objSize.SeqNo.ToString();
                 *
                 * Literal lblSizeName = (Literal)item.FindControl("lblSizeName");
                 * lblSizeName.Text = objSize.SizeName;
                 *
                 * LinkButton linkEdit = (LinkButton)item.FindControl("linkEdit");
                 * linkEdit.Attributes.Add("qid", objSize.ID.ToString());*/

                HyperLink linkDelete = (HyperLink)item.FindControl("linkDelete");
                linkDelete.Attributes.Add("qid", objSize.Key.ToString());
                linkDelete.Visible = canDelete;

                /*}
                 * else if ((item.ItemIndex > -1 && item.DataItem is SizeBO) && (item.ItemType == ListItemType.EditItem))
                 * {
                 *  SizeBO objSize = (SizeBO)item.DataItem;*/

                CheckBox chkIsDefault = (CheckBox)item.FindControl("chkIsDefault");
                chkIsDefault.Checked = objSize.Value.IsDefault;
                chkIsDefault.Enabled = true;

                Literal lblID = (Literal)item.FindControl("lblID");
                lblID.Text = objSize.Key.ToString();

                TextBox txtSeqNo = (TextBox)item.FindControl("txtSeqNo");
                txtSeqNo.Text       = objSize.Value.SeqNo.ToString();
                this.hdnSeqNo.Value = txtSeqNo.Text;

                TextBox txtSizeName = (TextBox)item.FindControl("txtSizeName");
                txtSizeName.Text       = objSize.Value.SizeName;
                this.hdnSizeName.Value = txtSizeName.Text;

                //LinkButton linkSave = (LinkButton)item.FindControl("linkSave");
                //linkSave.Attributes.Add("qid", objSize.ID.ToString());
                //linkSave.CommandName = (!string.IsNullOrEmpty(hdnSizeName.Value) || (int.Parse(this.hdnSeqNo.Value) > 0)) ? "Update" : "Save";
            }
        }