protected void btnEditMatrialAmount_Click(object sender, EventArgs e) { long packageID = Convert.ToInt64(hidPacakageID.Value); long materialID = Convert.ToInt64(hidMaterialID.Value); decimal length = Convert.ToDecimal(hidLength.Value); decimal width = Convert.ToDecimal(hidWidth.Value); WaiveEditMaterialAmount waiveEditMaterialAmount = new WaiveEditMaterialAmount(); waiveEditMaterialAmount.WaiveID = waiveID; waiveEditMaterialAmount.PartID = packageID; waiveEditMaterialAmount.MaterialID = materialID; waiveEditMaterialAmount.Length = length; waiveEditMaterialAmount.Width = width; waiveEditMaterialAmount.Amount = Convert.ToDecimal(txtEditAmount.Text); waiveEditMaterialAmount.Save(); Response.Redirect(Request.RawUrl); }
private StringWriter CreateEmailTemplate(Waive waive, Boolean isEmail) { using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { #region Address Case newCase = new Case(caseID); writer.AddAttribute("cellspacing", "0"); writer.AddAttribute("cellpadding", "0"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.WaiveTexts.CaseNumber); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(newCase.Number); writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.WaiveTexts.CaseName); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(newCase.Name); writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "text-align:left; vertical-align:top;padding:5px; "); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.WaiveTexts.CaseDeliveryAddress); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(newCase.Street); writer.Write(" - "); writer.Write(newCase.ZipCode + " " + newCase.City); writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Leveringsdato: "); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:left; vertical-align:top; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(waive.EstOrderDate.ToShortDateString()); writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr writer.RenderEndTag(); // Table #endregion #region Packages List<Package> packages = null; if (isProductionPage) { packages = Package.Utils.GetPackagesByWaiveID(waiveID).Where(x => x.ID == packageID).ToList(); } else { packages = Package.Utils.GetPackagesByWaiveID(waiveID); } if (packages.Count() > 0) { Milestone milestone = new Milestone(waive.MilestoneID); CompanyCollection companies = Company.Utils.GetCompanies(); foreach (var company in companies) { bool first = true; decimal invoicePrice = 0; foreach (var package in packages) { decimal totalPackagePrice = 0; MaterialCollection PackageMaterials = Material.Utils.GetMaterialsByPackageID_CompanyID_TypeID(package.ID, company.ID, 1); if (PackageMaterials.Count() > 0) { if (first) { writer.AddAttribute("style", "border:1px solid; padding:10px; margin-top:20px;"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute("style", "margin-bottom:0;margin-top:20px; float:none;"); writer.RenderBeginTag(HtmlTextWriterTag.H2); writer.Write(company.Name); writer.RenderEndTag(); // H2 first = false; } writer.AddAttribute("style", "margin-bottom:10px ;margin-top:40px;"); writer.RenderBeginTag(HtmlTextWriterTag.H3); writer.Write(package.WaiveAmount + " " + Resources.WaiveTexts.PackageAmountSuffix + " " + "<span style='font-weight:900; font-size:14px; background:yellow;'>Mrk.: " + package.Title + " - " + waive.Location + " - "+ milestone.Title+ " </span>"); writer.RenderEndTag(); writer.AddAttribute("cellspacing", "0"); writer.AddAttribute("cellpadding", "0"); writer.AddAttribute("style", "width:100%;"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "font-weight:bold; text-align:left; padding:5px; border-bottom:1px solid #000;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Varenr."); writer.RenderEndTag(); // Th writer.AddAttribute("style", "font-weight:bold; text-align:left; border-bottom:1px solid #000; padding:5px; "); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Beskrivelse"); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:right; border-bottom:1px solid #000; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Mængde/Enhed"); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:right; border-bottom:1px solid #000; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.RenderEndTag(); if (waive.IsOrdered) { writer.AddAttribute("style", "text-align:right; border-bottom:1px solid #000; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Pris"); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:right; border-bottom:1px solid #000; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write("Pris Total"); writer.RenderEndTag(); // Th } writer.RenderEndTag(); // Tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "text-align:left;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(""); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:right;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(""); writer.RenderEndTag(); // Th if (waive.IsOrdered) { writer.AddAttribute("style", "text-align:right;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(""); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:right;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(""); writer.RenderEndTag(); // Th } writer.RenderEndTag(); // tr foreach (var material in PackageMaterials) { PackageMaterialAmountDTOCollection materialAmounts = PackageMaterialAmountDTO.Utils.GetPackageMaterialAmountByPackageIDMaterialID(package.ID, material.ID); decimal totalPrice = 0; bool isLength = material.UnitType == 1 ? true : false; bool isSquare = material.UnitType == 2 ? true : false; if (isLength || isSquare) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "font-weight:bold; padding-left:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Number); writer.RenderEndTag(); // Td writer.AddAttribute("style", "padding-left:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write("<span style='font-weight:bold;'>" + material.Title + "</span> "); if (waive.IsOrdered) { } foreach (var item in materialAmounts) { decimal length = 0; decimal square = 0; WaiveEditMaterialAmount waiveEditMaterialAmount = new WaiveEditMaterialAmount(waiveID, package.ID, material.ID, item.Length, item.Width); if (waiveEditMaterialAmount.ID > 0) { item.Amount = waiveEditMaterialAmount.Amount; } if (isLength) { writer.Write(" - " + item.Length.ToString("0") + "mm"); length = (item.Length * item.Amount) / 1000; totalPrice = length * material.Price.Price; if (!Page.IsPostBack) { ListItem listItem = new ListItem(material.Title + " X " + item.Length.ToString("0") + "mm", package.ID + "-" + material.ID.ToString()); listItem.Attributes["data-optiongroup"] = package.Title; ddlMaterial.Items.Add(listItem); } } else if (isSquare) { writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(" - " + item.Length.ToString("0") + "mm"); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(" x "); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(item.Width.ToString("0") + "mm"); writer.RenderEndTag(); square = (item.Width * item.Length * item.Amount) / 1000000; totalPrice = square * material.Price.Price; if (!Page.IsPostBack) { ListItem listItem = new ListItem(material.Title + " " + item.Length.ToString("0") + "mm X " + item.Width.ToString("0") + "mm", package.ID + "-" + material.ID.ToString()); listItem.Attributes["data-optiongroup"] = package.Title; ddlMaterial.Items.Add(listItem); } } writer.RenderEndTag(); // Td writer.AddAttribute("style", "text-align:right; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); if (isLength) { writer.Write("(" + length.ToString("N2") + " Mtr) " + item.Amount.ToString("N2") + " stk."); } else if (isSquare) { writer.Write("(" + square.ToString("N2") + " M2) " + item.Amount.ToString("N2") + " stk."); } writer.RenderEndTag(); // Td writer.RenderBeginTag(HtmlTextWriterTag.Td); if (!isEmail) { writer.AddAttribute("class", "fa fa fa-pencil"); writer.AddAttribute("onclick", "openModalEditWaiveMaterialAmount("+package.ID +", " + material.ID + ", '" + item.Amount + "','" + item.Length + "', '" + item.Width + "')"); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } writer.RenderEndTag(); if (waive.IsOrdered) { writer.AddAttribute("style", "text-align:right; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Price.Price.ToString("N2")); writer.RenderEndTag(); // Td writer.AddAttribute("style", "text-align:right; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(totalPrice.ToString("N2")); writer.RenderEndTag(); // Td } writer.RenderEndTag(); // Tr } } else { totalPrice = (materialAmounts.Count() > 0 ? materialAmounts[0].Amount : 0) * material.Price.Price; WaiveEditMaterialAmount waiveEditMaterialAmount = new WaiveEditMaterialAmount(waiveID, package.ID, material.ID, 0, 0); if (waiveEditMaterialAmount.ID > 0) { materialAmounts[0].Amount = waiveEditMaterialAmount.Amount; } writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "font-weight:bold; padding-left:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Number); writer.RenderEndTag(); // Td writer.AddAttribute("style", "font-weight:bold; padding-left:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Title); writer.RenderEndTag(); // Td writer.AddAttribute("style", "text-align:right; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write((materialAmounts.Count() > 0 ? materialAmounts[0].Amount.ToString("N2") : "0,00") + " stk."); writer.RenderEndTag(); // Td writer.RenderBeginTag(HtmlTextWriterTag.Td); if (!isEmail) { writer.AddAttribute("class", "fa fa fa-pencil"); writer.AddAttribute("onclick", "openModalEditWaiveMaterialAmount(" + package.ID + ", " + material.ID + ",'" + materialAmounts[0].Amount + "','0', '0')"); writer.RenderBeginTag(HtmlTextWriterTag.I); writer.RenderEndTag(); // I } writer.RenderEndTag(); if (waive.IsOrdered) { writer.AddAttribute("style", "text-align:right; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Price.Price.ToString("N2")); writer.RenderEndTag(); // Td writer.AddAttribute("style", "text-align:right; padding:15px;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(totalPrice.ToString("N2")); writer.RenderEndTag(); // Td } writer.RenderEndTag(); // Tr } totalPackagePrice += totalPrice; } writer.RenderEndTag(); // Table } invoicePrice += totalPackagePrice; } if (invoicePrice > 0 && !isEmail) { writer.AddAttribute("style", "text-align:right; padding:15px; border-top:1px solid; margin-top:20px; font-weight:bold;"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write(company.Name + " i alt: " + invoicePrice.ToString("N2")); writer.RenderEndTag(); writer.RenderEndTag(); // Div } } } #endregion //if (!isProductionPage) //{ // #region Stock // WaivePackageStockMaterialCollection packageStockaterials = WaivePackageStockMaterial.Utils.GetStockWaiveMaterialsByWaiveID(waiveID); // if (packageStockaterials.Count() > 0) // { // writer.AddAttribute("cellspacing", "0"); // writer.AddAttribute("cellpadding", "0"); // writer.AddAttribute("style", "width:100%; border:1px solid #000; margin-top:10px;"); // writer.RenderBeginTag(HtmlTextWriterTag.Table); // writer.RenderBeginTag(HtmlTextWriterTag.Tr); // writer.AddAttribute("style", "font-weight:bold; text-align:left; width:100%; background:lightgray; font-size:18px; padding:5px;"); // writer.RenderBeginTag(HtmlTextWriterTag.Th); // writer.Write(Resources.WaiveTexts.Stock); // writer.RenderEndTag(); // Th // writer.AddAttribute("style", "text-align:right;background:lightgray; padding:5px;"); // writer.RenderBeginTag(HtmlTextWriterTag.Th); // writer.Write(Resources.PackageTexts.Amount); // writer.RenderEndTag(); // Th // writer.RenderEndTag(); // Tr // writer.RenderBeginTag(HtmlTextWriterTag.Tr); // writer.AddAttribute("style", "width:100%;"); // writer.AddAttribute("style", "text-align:left;"); // writer.RenderBeginTag(HtmlTextWriterTag.Th); // writer.Write(""); // writer.RenderEndTag(); // Th // writer.AddAttribute("style", "text-align:right;"); // writer.RenderBeginTag(HtmlTextWriterTag.Th); // writer.Write(""); // writer.RenderEndTag(); // Th // writer.RenderEndTag(); // tr // Int64 prevID = 0; // Int64 currID = 0; // foreach (var material in packageStockaterials) // { // currID = material.MaterialID; // bool isLength = material.UnitTypeID == 1 ? true : false; // bool isSquare = material.UnitTypeID == 2 ? true : false; // if (isLength || isSquare) // { // if (prevID != currID) // { // writer.RenderBeginTag(HtmlTextWriterTag.Tr); // writer.AddAttribute("style", "font-weight:bold; padding-left:5px; border-top:1px solid;"); // writer.RenderBeginTag(HtmlTextWriterTag.Td); // writer.Write(material.Title); // writer.RenderEndTag(); // Td // writer.AddAttribute("style", "padding-left:5px; border-top:1px solid; padding:5px;"); // writer.RenderBeginTag(HtmlTextWriterTag.Td); // writer.Write(""); // writer.RenderEndTag(); // Td // writer.RenderEndTag(); //Tr // } // writer.RenderBeginTag(HtmlTextWriterTag.Tr); // writer.AddAttribute("style", "padding-left:20px; border-top:1px dashed;"); // writer.RenderBeginTag(HtmlTextWriterTag.Td); // if (isLength) // { // writer.Write(" - " + material.Length.ToString("0") + "mm"); // } // else if (isSquare) // { // writer.RenderBeginTag(HtmlTextWriterTag.Span); // writer.Write(" - " + material.Length.ToString("0") + "mm"); // writer.RenderEndTag(); // writer.RenderBeginTag(HtmlTextWriterTag.Span); // writer.Write(" x "); // writer.RenderEndTag(); // writer.RenderBeginTag(HtmlTextWriterTag.Span); // writer.Write(material.Width.ToString("0") + "mm"); // writer.RenderEndTag(); // } // writer.RenderEndTag(); // Td // writer.AddAttribute("style", "text-align:right; padding-right:5px; border-top:1px dashed;"); // writer.RenderBeginTag(HtmlTextWriterTag.Td); // writer.Write(material.TotalAmount.ToString("N2")); // writer.RenderEndTag(); // Td // writer.RenderEndTag(); // Tr // } // else // { // writer.RenderBeginTag(HtmlTextWriterTag.Tr); // writer.AddAttribute("style", "font-weight:bold; padding-left:5px; border-top:1px solid;"); // writer.RenderBeginTag(HtmlTextWriterTag.Td); // writer.Write(material.Title); // writer.RenderEndTag(); // Td // writer.AddAttribute("style", "text-align:right; padding-right:5px; border-top:1px solid;"); // writer.RenderBeginTag(HtmlTextWriterTag.Td); // writer.Write(material.TotalAmount.ToString("N2")); // writer.RenderEndTag(); // Td // writer.RenderEndTag(); // Tr // } // prevID = material.MaterialID; // } // writer.RenderEndTag(); // Table // } // #endregion //} #region EkstraMaterials MaterialCollection ExtraMaterials = Material.Utils.GetMaterialsByWaiveID(waiveID); if (ExtraMaterials.Count() > 0) { writer.AddAttribute("cellspacing", "0"); writer.AddAttribute("cellpadding", "0"); writer.AddAttribute("style", "width:100%; border:1px solid #000; margin-top:10px; "); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "font-weight:bold; text-align:left; width:100%; background:lightgray; font-size:18px; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.WaiveTexts.ExtraMaterials); writer.RenderEndTag(); // Th writer.AddAttribute("style", "text-align:right; background:lightgray; padding:5px;"); writer.RenderBeginTag(HtmlTextWriterTag.Th); writer.Write(Resources.PackageTexts.Amount); writer.RenderEndTag(); // Th foreach (var material in ExtraMaterials) { WaiveMaterialAmountCollection materialAmounts = WaiveMaterialAmount.Utils.GetWaiveMaterialAmountByWaiveID_MaterialID(waiveID, material.ID); bool isLength = material.UnitType == 1 ? true : false; bool isSquare = material.UnitType == 2 ? true : false; if (isLength || isSquare) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "font-weight:bold; padding-left:5px; border-top:1px solid;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Title); writer.RenderEndTag(); // Td writer.AddAttribute("style", "padding-left:5px; border-top:1px solid;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(""); writer.RenderEndTag(); // Td writer.RenderEndTag(); //Tr foreach (var item in materialAmounts) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "padding-left:20px; border-top:1px dashed;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); decimal length = 0; decimal square = 0; if (isLength) { writer.Write(" - " + item.Length.ToString("0") + "mm"); length = (item.Length * item.Amount) / 1000; } else if (isSquare) { writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(" - " + item.Length.ToString("0") + "mm"); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(" x "); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(item.Width.ToString("0") + "mm"); writer.RenderEndTag(); square = (item.Width * item.Length * item.Amount) / 1000000; } writer.RenderEndTag(); // Td writer.AddAttribute("style", "text-align:right; padding-right:5px; border-top:1px dashed;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); if (isLength) { writer.Write("(" + length.ToString("N2") + " Mtr) " + item.Amount.ToString("N2") + " stk."); } else if (isSquare) { writer.Write("(" + square.ToString("N2") + " M2) " + item.Amount.ToString("N2") + " stk."); } writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr } } else { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("style", "font-weight:bold; padding-left:5px; border-top:1px solid;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(material.Title); writer.RenderEndTag(); // Td writer.AddAttribute("style", "text-align:right; padding-right:5px; border-top:1px solid;"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write((materialAmounts.Count() > 0 ? materialAmounts[0].Amount.ToString("N2") : "0,00") + " stk."); writer.RenderEndTag(); // Td writer.RenderEndTag(); // Tr } writer.RenderEndTag(); // Table } } #endregion return sw; } } }