public override void setExceptionValues(object s) { //base.setExceptionValues(); if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "LARGE CRACK REPAIR").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.SMSqft = item.Qty; //item.IsMaterialChecked = item.Qty>0?true:false; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft); } item = SystemMaterials.Where(x => x.Name == "BUBBLE REPAIR (MEASURE SQ FT)").FirstOrDefault(); if (item != null) { //item.IsMaterialChecked = item.Qty > 0 ? true : false; item.SMSqftH = item.Qty; item.SMSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft); } } }
public override void ApplyCheckUnchecks(object obj) { if (obj.ToString() == "Primer if needed: EC-11 primer") { SystemMaterials.Where(x => x.Name == "#30 or #60 Silica Sand (With Primer)").FirstOrDefault().IsMaterialChecked = SystemMaterials.Where(x => x.Name == "Primer if needed: EC-11 primer").FirstOrDefault().IsMaterialChecked; } if (obj.ToString() == "Membrane Grey TC-1 Cement") { SystemMaterials.Where(x => x.Name == "Slurry Coat / Standard Semi-Smooth Texture: Grey TC-1 Cement").FirstOrDefault().IsMaterialChecked = SystemMaterials.Where(x => x.Name == "Membrane Grey TC-1 Cement").FirstOrDefault().IsMaterialChecked; } if (obj.ToString() == "Grout Coat for Tile Pattern: Grey TC-5 Texture Cement") { SystemMaterials.Where(x => x.Name == "1/4 inch grout tape, Standard 12 x 12 tile pattern, tape and labor").FirstOrDefault().IsMaterialChecked = SystemMaterials.Where(x => x.Name == "Grout Coat for Tile Pattern: Grey TC-5 Texture Cement").FirstOrDefault().IsMaterialChecked; } if (obj.ToString() == "SC-35 Water based stain" || obj.ToString() == "TC-40 Liquid Colorant" || obj.ToString() == "SC-70 clear acrylic lacquer") { bool sc35 = SystemMaterials.Where(x => x.Name == "SC-35 Water based stain").FirstOrDefault().IsMaterialChecked; bool tc40 = SystemMaterials.Where(x => x.Name == "TC-40 Liquid Colorant").FirstOrDefault().IsMaterialChecked; bool sc70 = SystemMaterials.Where(x => x.Name == "SC-70 clear acrylic lacquer").FirstOrDefault().IsMaterialChecked; if (!sc35 && !tc40 && !sc70) { SystemMaterials.Where(x => x.Name == "SC-10 Topcoat").FirstOrDefault().IsMaterialChecked = true; } else { SystemMaterials.Where(x => x.Name == "SC-10 Topcoat").FirstOrDefault().IsMaterialChecked = false; } } calculateRLqty(); //CalculateLaborMinCharge(false); }
//calculateQTY for 9801 ACCELERATOR public override void calculateRLqty() { if (SystemMaterials.Count == 0) { return; } double qty = 0; foreach (var item in SystemMaterials) { if (item.Name == "7013 SC BASE COAT/ 5 GAL PAILS 30 MILS" || item.Name == "7016 - AR - SC INTERMEDIATE/ 5 GAL PAILS 20 MILS" || item.Name == "7016 SC TOP COAT/ 5 GAL PAILS 16 MILS" || item.Name == "SECOND INTERMEDIATE COAT FOR HIGH TRAFFIC") { if (item.IsMaterialChecked) { qty = qty + item.Qty; } } } SystemMaterial sysmat = SystemMaterials.Where(x => x.Name == "9801 ACCELERATOR").FirstOrDefault(); sysmat.Qty = sysmat.Coverage == 0?0: qty / sysmat.Coverage; sysmat = SystemMaterials.Where(x => x.Name == "SLOPING FOR TREADS IF NOT PROVIDED FOR IN FRAMING (MOST CASES NEED SLOPE)").FirstOrDefault(); if (sysmat != null) { //double myVal = 0; sysmat.SMUnits = riserCount.ToString(); //double.TryParse(sysmat.SMUnits,out myVal); sysmat.Qty = sysmat.Coverage == 0?0: riserCount / sysmat.Coverage; } //CalculateLaborMinCharge(false); }
public override void calculateRLqty() { SystemMaterial sysMat1, sysMat2; if (SystemMaterials.Count > 0) { sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry Coat for repairs").FirstOrDefault(); if (sysMat1 == null) { sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry coat over texture (Krete Kote 120 sq ft per mix)").FirstOrDefault(); } sysMat2 = SystemMaterials.Where(x => x.Name == "Texture for repairs").FirstOrDefault(); if (sysMat2 == null) { sysMat2 = SystemMaterials.Where(x => x.Name == "Krete Kote or Top Cote texture").FirstOrDefault(); } bool ischecked = sysMat1.IsMaterialChecked; sysMat1.Qty = sysMat1.Coverage == 0 ? 0 : sysMat1.SMSqft / sysMat1.Coverage; sysMat1.IsMaterialChecked = ischecked; ischecked = sysMat2.IsMaterialChecked; sysMat2.Qty = sysMat2.Coverage == 0 ? 0 : sysMat2.SMSqft / sysMat2.Coverage; sysMat2.IsMaterialChecked = ischecked; } //CalculateLaborMinCharge(false); }
public override double CalculateLabrExtn(double calhrs, double setupMin, string matName) { if (matName == "Dustless grind") { SystemMaterial sysMat = SystemMaterials.Where(x => x.Name == matName).FirstOrDefault(); if (sysMat!=null) { sysMat.LaborUnitPrice = 0.25; } return totalSqft * 0.25; } else { if (calhrs == 0) { return 0; } else return setupMin > calhrs ? setupMin * laborRate : calhrs * laborRate; } }
public override void setCheckBoxes() { //base.setCheckBoxes(); bool isSpecified = false; if (IsJobSpecifiedByArchitect != null) { isSpecified = (bool)IsJobSpecifiedByArchitect; } SystemMaterial sysmat = SystemMaterials.Where(x => x.Name == "BASE COAT Desert Crete poly base mixed with water").FirstOrDefault(); sysmat.IsMaterialChecked = isSpecified; sysmat.IsMaterialEnabled = isSpecified; sysmat = SystemMaterials.Where(x => x.Name == "BASE COAT 50 lb Desert Crete Level Max 20/30").FirstOrDefault(); sysmat.IsMaterialChecked = !isSpecified; sysmat.IsMaterialEnabled = !isSpecified; foreach (SystemMaterial item in SystemMaterials) { if (item.Name == "2.5 Galvanized Lathe (18 s.f.)" || item.Name == "Staples") { item.IsMaterialChecked = getCheckboxCheckStatus(item.Name); } } }
public override void ApplyCheckUnchecks(object obj) { bool isChecked; if (obj.ToString() == "2.5 Galvanized Lathe") { isChecked = SystemMaterials.Where(x => x.Name == "2.5 Galvanized Lathe").FirstOrDefault().IsMaterialChecked; SystemMaterials.Where(x => x.Name == "Staples").FirstOrDefault().IsMaterialChecked = isChecked; prevStatus = isChecked; } if (obj.ToString() == "PD Resin (If dimension exceeds 20 ft in any direction or for below tile)") { isChecked = SystemMaterials.Where(x => x.Name == "PD Resin (If dimension exceeds 20 ft in any direction or for below tile)").FirstOrDefault().IsMaterialChecked; SystemMaterials.Where(x => x.Name == "3/4 oz. Fiberglass").FirstOrDefault().IsMaterialChecked = isChecked; } if (obj.ToString() == "Select Y for protection coat over membrane below tile (GU80-1 TOP COAT)") { isChecked = SystemMaterials.Where(x => x.Name == "Select Y for protection coat over membrane below tile (GU80-1 TOP COAT)").FirstOrDefault().IsMaterialChecked; SystemMaterials.Where(x => x.Name == "GU80-1 top coat texture coat semi-smooth or knockdown").FirstOrDefault().IsMaterialChecked = !isChecked; SystemMaterials.Where(x => x.Name == "GS88 Sealer").FirstOrDefault().IsMaterialChecked = !isChecked; SystemMaterials.Where(x => x.Name == "Color Jar Pigment, 1 JAR per PAIL OF GS88").FirstOrDefault().IsMaterialChecked = !isChecked; } calculateRLqty(); //CalculateLaborMinCharge(false); }
//Calculate for "Add for Safe Grip Additive" public override void calculateRLqty() { //base.calculateRLqty(); double val1=0, val2 = 0; SystemMaterial sysmat = SystemMaterials.Where(x => x.Name == "SC-70 clear acrylic lacquer 200-300 sq ft per gallon").FirstOrDefault(); if (sysmat!=null) { val1 = sysmat.IsMaterialChecked ? sysmat.Qty : 0; } sysmat = SystemMaterials.Where(x => x.Name == "SC-10 solid color sealer IN LIEU of SC-70").FirstOrDefault(); if (sysmat != null) { val2 = sysmat.IsMaterialChecked ? sysmat.Qty : 0; } sysmat = SystemMaterials.Where(x => x.Name == "Add for Safe Grip Additive").FirstOrDefault(); if (sysmat!=null) { bool ischecked = sysmat.IsMaterialChecked; sysmat.Qty = val1 + val2; sysmat.IsMaterialChecked = ischecked; } //CalculateLaborMinCharge(false); }
//calculate for Desert Crete public override void calculateRLqty() { //base.calculateRLqty(); double val1 = 0, val2 = 0; SystemMaterial sysmat = SystemMaterials.Where(x => x.Name == "BASE COAT 50 lb Desert Crete Level Max 20/30").FirstOrDefault(); if (sysmat != null) { val1 = sysmat.IsMaterialChecked ? sysmat.Qty : 0; } sysmat = SystemMaterials.Where(x => x.Name == "TEXTURE Desert Crete poly base texture mixed Polymer #550 (1-1/4GAL per BAG)").FirstOrDefault(); if (sysmat != null) { val2 = sysmat.IsMaterialChecked ? sysmat.Qty : 0; } sysmat = SystemMaterials.Where(x => x.Name == "Desert Crete Liquid Polymer #550 mixed 50/50 with water").FirstOrDefault(); if (sysmat != null) { double calVal = ((0.31 * val2) + val1 / 2.5 / 2); if (IsJobSpecifiedByArchitect != null) { sysmat.Qty = (bool)IsJobSpecifiedByArchitect ? 0.31 * val2 : calVal; } } //CalculateLaborMinCharge(false); }
public override void setExceptionValues(object s) { if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "Plywood 3/4 & blocking (# of 4x8 sheets)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty * 32; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "Stucco Material Remove and replace (LF)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.MaterialExtension = item.SpecialMaterialPricing == 0 ? item.Qty * item.MaterialPrice : item.Qty * item.SpecialMaterialPricing; item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } } calculateRLqty(); //CalculateLaborMinCharge(false); }
public override void setExceptionValues(object s) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "Plywood 3/4 & blocking (# of 4x8 sheets)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty * 32; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, 0, 0); item.LaborExtension = item.Hours == 0?0:item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "Stucco Material Remove and replace (LF)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, 0, 0); item.LaborExtension = item.Hours == 0 ? 0 : item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "EXTRA STAIR NOSING").FirstOrDefault(); if (item != null) { item.StairSqft = item.Qty; item.Hours = CalculateHrs(0, 0, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = (TotalSqftPlywood + totalSqft + riserCount) == 0?0:item.LaborExtension / (TotalSqftPlywood + totalSqft + riserCount); } }
//calculateQTY for 9801 ACCELERATOR public override void calculateRLqty() { double qty = 0; foreach (var item in SystemMaterials) { if (item.Name == "7013 SC BASE COAT/ 5 GAL PAILS 40 MILS" || item.Name == "7016 - AR - INTERMEDIATE COAT / 5 GAL PAILS 20 MILS" || item.Name == "7016 - AL - SC TOP COAT / 5 GAL PAILS 16 MILS") { if (item.IsMaterialChecked) { qty = qty + item.Qty; } } } SystemMaterial sysmat = SystemMaterials.Where(x => x.Name == "9801 ACCELERATOR").FirstOrDefault(); bool ischecked = sysmat.IsMaterialChecked; sysmat.Qty = qty / sysmat.Coverage; sysmat.IsMaterialChecked = ischecked; sysmat = SystemMaterials.Where(x => x.Name == "SLOPING FOR TREADS IF NOT PROVIDED FOR IN FRAMING (MOST CASES NEED SLOPE)").FirstOrDefault(); if (sysmat != null) { ischecked = sysmat.IsMaterialChecked; sysmat.SMUnits = riserCount.ToString(); //double.TryParse(sysmat.SMUnits, out myVal); sysmat.Qty = riserCount / sysmat.Coverage; sysmat.IsMaterialChecked = ischecked; } }
public override void calculateRLqty() { SystemMaterial sysMat1, sysMat2; if (SystemMaterials.Count > 0) { sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry Coat for repairs").FirstOrDefault(); if (sysMat1 == null) { sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry coat over texture (Resistite smooth 120 sq ft per mix with 1 gal liquid)").FirstOrDefault(); } sysMat2 = SystemMaterials.Where(x => x.Name == "Texture for repairs").FirstOrDefault(); if (sysMat2 == null) { sysMat2 = SystemMaterials.Where(x => x.Name == "Resistite textured knockdown finish (regular or smooth)").FirstOrDefault(); } bool isChecked = sysMat1.IsMaterialChecked; sysMat1.Qty = sysMat1.Coverage == 0 ? 0 : sysMat1.SMSqft / sysMat1.Coverage; sysMat1.IsMaterialChecked = isChecked; isChecked = sysMat2.IsMaterialChecked; sysMat2.Qty = sysMat2.Coverage == 0 ? 0 : sysMat2.SMSqft / sysMat2.Coverage; sysMat2.IsMaterialChecked = isChecked; } //CalculateLaborMinCharge(false); }
//calculate for Desert Crete public override void calculateRLqty() { double val1 = 0, val2 = 0; SystemMaterial sysMat = SystemMaterials.Where(x => x.Name == "PARATERM BAR LF (TOP ONLY- STANDARD INSTALL)").FirstOrDefault(); if (sysMat != null) { val1 = sysMat.IsMaterialChecked ? sysMat.Qty : 0; } sysMat = SystemMaterials.Where(x => x.Name == "EXTRA PARATERM BAR LF (BOTTOM OR SIDES)").FirstOrDefault(); if (sysMat != null) { val2 = sysMat.IsMaterialChecked ? sysMat.Qty : 0; } sysMat = SystemMaterials.Where(x => x.Name == "PINS & LOADS").FirstOrDefault(); if (sysMat != null) { bool ischecked; ischecked = sysMat.IsMaterialChecked; sysMat.Qty = sysMat.SMSqft / sysMat.Coverage + (val1 + val2) / 2; sysMat.IsMaterialChecked = ischecked; } sysMat = SystemMaterials.Where(x => x.Name == "PARASEAL LG ROLLS (4X24)").FirstOrDefault(); if (sysMat != null) { OtherItem olm = OtherMaterials.Where(x => x.Name == "Linear footage for seams if needed for submerged conditions") .FirstOrDefault(); if (olm != null) { olm.Quantity = Math.Round(sysMat.Qty * 28, 2); olm.LQuantity = Math.Round(sysMat.Qty * 28, 2); } } }
public override void setExceptionValues(object s) { if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "UNIVERSAL OUTLET").FirstOrDefault(); if (item != null) { item.SMSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = (item.Hours != 0) ? (item.SetupMinCharge + item.Hours) * laborRate : 0; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft); } item = SystemMaterials.Where(x => x.Name == "TOTAL DRAIN 2' x 50' ( In lieu of rock & pipe) \"LINEAR FEET\"").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.SMSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } } //CalculateLaborMinCharge(false); }
public override void ApplyCheckUnchecks(object obj) { bool isChecked; if (obj.ToString() == "ADD METAL LATHE AND STAPLES") { isChecked = SystemMaterials.Where(x => x.Name == "ADD METAL LATHE AND STAPLES").FirstOrDefault().IsMaterialChecked; SystemMaterials.Where(x => x.Name == "Staples (3/4 Inch Crown, Box of 13,500)").FirstOrDefault().IsMaterialChecked = isChecked; SystemMaterials.Where(x => x.Name == "SAND/CEMENT AND ACRYLIC UNDERLAY AT 1/2 INCH THICK").FirstOrDefault().IsMaterialChecked = isChecked; if (isChecked) { SystemMaterials.Where(x => x.Name == "DETAIL TAPE (NEW PLYWOOD)").FirstOrDefault().IsMaterialChecked = !isChecked; SystemMaterials.Where(x => x.Name == "VULKEM 116 SEALANT (10 OZ CARTRIDGE) 1").FirstOrDefault().IsMaterialChecked = !isChecked; } else { SystemMaterials.Where(x => x.Name == "DETAIL TAPE (NEW PLYWOOD)").FirstOrDefault().IsMaterialChecked = isNewPlywood; SystemMaterials.Where(x => x.Name == "VULKEM 116 SEALANT (10 OZ CARTRIDGE) 1").FirstOrDefault().IsMaterialChecked = isNewPlywood; } } calculateRLqty(); //CalculateLaborMinCharge(false); }
public override void setCheckBoxes() { SystemMaterial sysmat = null; sysmat = SystemMaterials.Where(x => x.Name == "PARAMASTIC (1000 LF PER PAIL FOR PREP & TERMINATIONS)").FirstOrDefault(); sysmat.IsMaterialChecked = !SystemMaterials.Where(x => x.Name == "**VULKEM 201 T CAN SOMETIMES BE USED IN LIEU OF PARAMASTIC ON LARGE JOBS. CHECK WITH MANUFACTURER"). FirstOrDefault().IsMaterialChecked; }
private void setUnitChangeValues() { SystemMaterial item = SystemMaterials.Where(x => x.Name == "REPAIR AREAS (ENTER SQ FT OF FILL @ 1/4 INCH) UPI 7013 SC BASE COAT").FirstOrDefault(); if (item != null) { double unit = 0; Double.TryParse(item.SMUnits, out unit); item.SMSqft = unit; item.SMSqftH = unit; item.Qty = unit / item.Coverage; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft + TotalSqftPlywood); } item = SystemMaterials.Where(x => x.Name == "Striping for small cracKs (less than 1/8\")").FirstOrDefault(); if (item != null) { double unit = 0; Double.TryParse(item.SMUnits, out unit); item.SMSqftH = unit; item.SMSqft = unit; item.Qty = unit / item.Coverage; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft + TotalSqftPlywood); } item = SystemMaterials.Where(x => x.Name == "Route and caulk moving cracks (greater than 1/8\")").FirstOrDefault(); if (item != null) { double unit = 0; Double.TryParse(item.SMUnits, out unit); item.SMSqftH = unit; item.SMSqft = unit; item.Qty = unit / item.Coverage; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft + TotalSqftPlywood); } item = SystemMaterials.Where(x => x.Name == "SECOND INTERMEDIATE COAT FOR HIGH TRAFFIC").FirstOrDefault(); if (item != null) { double unit = 0; Double.TryParse(item.SMUnits, out unit); item.SMSqftH = unit; item.SMSqft = unit; item.Qty = unit / item.Coverage; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.Hours > item.SetupMinCharge ? item.Hours * laborRate : item.SetupMinCharge * laborRate; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft + TotalSqftPlywood); } //calculateRLqty(); //CalculateLaborMinCharge(false); }
public ParasealMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js) : base(metalTotals, slopeTotals, Js) { materialNames = new Dictionary <string, string>(); FillMaterialList(); FetchMaterialValuesAsync(false); pinsCoverage = SystemMaterials.Where(x => x.Name == "PINS & LOADS").FirstOrDefault().Coverage; }
public override void setExceptionValues(object s) { if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "UNIVERSAL OUTLET").FirstOrDefault(); if (item != null) { item.VerticalSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.VerticalSqft, item.VerticalProductionRate); item.LaborExtension = (item.Hours != 0) ? (item.SetupMinCharge + item.Hours) * laborRate : 0; item.LaborUnitPrice = item.LaborExtension / (riserCount + totalSqft); } item = SystemMaterials.Where(x => x.Name == "TOTAL DRAIN MINUS BOTTOM TD 1000(IN LIEU OF ROCK & PIPE)").FirstOrDefault(); if (item != null) { item.VerticalSqft = item.Qty; //item.SMSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.VerticalSqft, item.VerticalProductionRate); item.LaborExtension = item.Hours == 0?0:item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "Plywood 3/4 & blocking (# of 4x8 sheets)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty * 32; //item.SMSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0?0:item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "Stucco Material Remove and replace (LF)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; //item.SMSqft = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0?0:item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "PRIME AND ONE COAT OF VULKEM 801 ALUMINUM ROOF COATING @ WALL WITH SAND BROADCAST").FirstOrDefault(); if (item != null) { item.VerticalSqft = item.Qty; item.SMSqft = item.Qty * 0.5; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.VerticalSqft, item.VerticalProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } } //CalculateLaborMinCharge(false); }
public override void setExceptionValues(object s) { if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "Plywood 3/4 & blocking (# of 4x8 sheets)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty * 32; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "Stucco Material Remove and replace (LF)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.MaterialExtension = item.SpecialMaterialPricing == 0 ? item.Qty * item.MaterialPrice : item.Qty * item.SpecialMaterialPricing; item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "ENTER # OF DECKS TO WATER TEST \"NO DAM'S NEEDED\"").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.MaterialExtension = item.SpecialMaterialPricing == 0 ? item.Qty * item.MaterialPrice : item.Qty * item.SpecialMaterialPricing; item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "ADD LF FOR DAMMING @ DRIP EDGE").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.MaterialExtension = item.SpecialMaterialPricing == 0 ? item.Qty * item.MaterialPrice : item.Qty * item.SpecialMaterialPricing; item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "2 COATS VULKEM 350R/951 @ WALL (LF DECK TO WALL)").FirstOrDefault(); if (item != null) { item.SMSqft = item.Qty * 0.5; item.SMSqftV = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.SMSqftV, item.VerticalProductionRate); item.MaterialExtension = item.SpecialMaterialPricing == 0 ? item.Qty * item.MaterialPrice : item.Qty * item.SpecialMaterialPricing; item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } } // CalculateLaborMinCharge(false); }
public override void setExceptionValues(object s) { if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "MIRADRAIN HC 1\" DRAIN - PUNCHED 12\" X 100' (QUICK DRAIN)").FirstOrDefault(); if (item != null) { item.SMSqftV = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.SMSqftV, item.VerticalProductionRate); item.LaborExtension = item.Hours == 0 ?0: item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "TERM BAR").FirstOrDefault(); if (item != null) { item.SMSqftV = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.SMSqftV, item.VerticalProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "WATERSTOP (MIRASTOP)").FirstOrDefault(); if (item != null) { item.SMSqftV = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.SMSqftV, item.VerticalProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } item = SystemMaterials.Where(x => x.Name == "Plywood 3/4 & blocking (# of 4x8 sheets)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty * 32; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty / 32; } item = SystemMaterials.Where(x => x.Name == "Stucco Material Remove and replace (LF)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; } } //CalculateLaborMinCharge(false); }
public override void ApplyCheckUnchecks(object obj) { SystemMaterial sysmat = null; if (obj.ToString() == "**VULKEM 201 T CAN SOMETIMES BE USED IN LIEU OF PARAMASTIC ON LARGE JOBS. CHECK WITH MANUFACTURER") { sysmat = SystemMaterials.Where(x => x.Name == "PARAMASTIC (1000 LF PER PAIL FOR PREP & TERMINATIONS)").FirstOrDefault(); sysmat.IsMaterialChecked = !SystemMaterials.Where(x => x.Name == "**VULKEM 201 T CAN SOMETIMES BE USED IN LIEU OF PARAMASTIC ON LARGE JOBS. CHECK WITH MANUFACTURER"). FirstOrDefault().IsMaterialChecked; } //if (obj.ToString() == "PB-4 (VERTICAL ONLY)") //{ // sysmat = SystemMaterials.Where(x => x.Name == "PROTECTION MAT (HORIZONTAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; // sysmat = SystemMaterials.Where(x => x.Name == "TREMDRAIN 1000 (VERTICAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; // sysmat = SystemMaterials.Where(x => x.Name == "TREMDRAIN 1000 (HORIZONTAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; //} //if (obj.ToString() == "TREMDRAIN 1000 (VERTICAL ONLY)") //{ // sysmat = SystemMaterials.Where(x => x.Name == "PROTECTION MAT (HORIZONTAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; // sysmat = SystemMaterials.Where(x => x.Name == "PB-4 (VERTICAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; // sysmat = SystemMaterials.Where(x => x.Name == "TREMDRAIN 1000 (HORIZONTAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; //} //if (obj.ToString() == "TREMDRAIN 1000 (HORIZONTAL ONLY)") //{ // sysmat = SystemMaterials.Where(x => x.Name == "PROTECTION MAT (HORIZONTAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; // sysmat = SystemMaterials.Where(x => x.Name == "PB-4 (VERTICAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; // sysmat = SystemMaterials.Where(x => x.Name == "TREMDRAIN 1000 (VERTICAL ONLY)").FirstOrDefault(); // sysmat.IsMaterialEnabled = true; // sysmat.IsMaterialChecked = false; //} calculateRLqty(); //CalculateLaborMinCharge(false); }
public override void ApplyCheckUnchecks(object obj) { if (obj.ToString() == "2.5 Galvanized Lathe (18 s.f.)") { bool isChecked = SystemMaterials.Where(x => x.Name == "2.5 Galvanized Lathe (18 s.f.)").FirstOrDefault().IsMaterialChecked; SystemMaterials.Where(x => x.Name == "Staples").FirstOrDefault().IsMaterialChecked = isChecked; } calculateRLqty(); //CalculateLaborMinCharge(false); }
public override void ApplyCheckUnchecks(object obj) { if (obj.ToString() == "Vista Paint Acripoxy (TOPCOAT)") { bool ischecked = SystemMaterials.Where(x => x.Name == "Vista Paint Acripoxy (TOPCOAT)").FirstOrDefault().IsMaterialChecked; SystemMaterials.Where(x => x.Name == "Dexcelent II Final Coat (TOPCOAT)").FirstOrDefault().IsMaterialChecked = !ischecked; } //CalculateLaborMinCharge(false); //CalculateAllMaterial(); }
public override void setExceptionValues(object s) { bool isExceptionValueSet = false; if (SystemMaterials.Count != 0) { SystemMaterial item = SystemMaterials.Where(x => x.Name == "ENTER # OF DECKS TO WATER TEST \"NO DAM'S NEEDED\"").FirstOrDefault(); if (item != null) { item.SMSqftH = hasElastatex ? item.Qty * 2:item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.SMSqftV, item.VerticalProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; isExceptionValueSet = true; } item = SystemMaterials.Where(x => x.Name == "ADD LF FOR DAMMING @ DRIP EDGE").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate, item.SMSqftV, item.VerticalProductionRate); item.LaborExtension = item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; isExceptionValueSet = true; } item = SystemMaterials.Where(x => x.Name == "Plywood 3/4 & blocking (# of 4x8 sheets)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty * 32; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty / 32; isExceptionValueSet = true; } item = SystemMaterials.Where(x => x.Name == "Stucco Material Remove and replace (LF)").FirstOrDefault(); if (item != null) { item.SMSqftH = item.Qty; item.Hours = CalculateHrs(item.SMSqftH, item.HorizontalProductionRate, item.StairSqft, item.StairsProductionRate); item.LaborExtension = item.Hours == 0 ? 0 : item.SetupMinCharge > item.Hours ? item.SetupMinCharge * laborRate : item.Hours * laborRate; item.LaborUnitPrice = item.LaborExtension / item.Qty; isExceptionValueSet = true; } //if (isExceptionValueSet ==true) //CalculateLaborMinCharge(false); } }
private void getEKLQnty() { SystemMaterial sysMat = SystemMaterials.Where(x => x.Name == "Add for Gamma Cure in lieu of wet cure").FirstOrDefault(); if (sysMat != null) { sysMat.Hours = sysMat.IsMaterialChecked ? (linearCoping + totalVerticalSqft) * 0.2 / 25:0; sysMat.LaborExtension = sysMat.Hours == 0 ? 0 : sysMat.Hours > sysMat.SetupMinCharge ? sysMat.Hours * laborRate : sysMat.SetupMinCharge * laborRate; sysMat.LaborUnitPrice = (totalSqft + totalVerticalSqft + riserCount) == 0 ? 0:sysMat.LaborExtension / (totalSqft + totalVerticalSqft + riserCount); } }
public override void setCheckBoxes() { SystemMaterials.Where(x => x.Name == "SLURRY COAT (RESISTITE) OVER TEXTURE").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "RESISTITE LIQUID").First().IsMaterialEnabled = true; SystemMaterials.Where(x => x.Name == "RESISTITE LIQUID").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "RESISTITE LIQUID").First().IsMaterialEnabled = false; SystemMaterials.Where(x => x.Name == "RESISTITE REGULAR OR SMOOTH GRAY (KNOCK DOWN OR SMOOTH)").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "RESISTITE REGULAR GRAY").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "DEXOTEX AJ-44").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "WESTCOAT SC-10").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "UPI PERMASHIELD").First().IsMaterialChecked = false; SystemMaterials.Where(x => x.Name == "PLI DEK GS88 WITH COLOR JAR 1 PER PAIL").First().IsMaterialChecked = false; }
public override void ApplyCheckUnchecks(object obj) { if (obj.ToString() == "Slurry Coat for repairs" || obj.ToString() == "Slurry coat over texture (Krete Kote 120 sq ft per mix)") { SystemMaterial sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry Coat for repairs").FirstOrDefault(); if (sysMat1 == null) { sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry coat over texture (Krete Kote 120 sq ft per mix)").FirstOrDefault(); } SystemMaterials.Where(x => x.Name == "Light crack and repairs- speed bond (no more than 1% of area)").FirstOrDefault().IsMaterialChecked = !sysMat1.IsMaterialChecked; } calculateRLqty(); }
public override void ApplyCheckUnchecks(object obj) { if (obj.ToString() == "Slurry Coat for repairs" || obj.ToString() == "Slurry coat over texture (Resistite smooth 120 sq ft per mix with 1 gal liquid)") { SystemMaterial sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry Coat for repairs").FirstOrDefault(); if (sysMat1 == null) { sysMat1 = SystemMaterials.Where(x => x.Name == "Slurry coat over texture (Resistite smooth 120 sq ft per mix with 1 gal liquid)").FirstOrDefault(); } SystemMaterials.Where(x => x.Name == "Light crack and repairs- resistite smooth (no more than 5% of area) with 1 gal liquid").FirstOrDefault().IsMaterialChecked = !sysMat1.IsMaterialChecked; } calculateRLqty(); }