Example #1
0
 public DexellentIIMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js)
     : base(metalTotals, slopeTotals, Js)
 {
     materialNames = new Dictionary <string, string>();
     FillMaterialList();
     FetchMaterialValuesAsync(false);
 }
        public MetalViewModel(JobSetup js)
        {
            prevailingWage = js.ActualPrevailingWage == 0?0:(js.ActualPrevailingWage - laborRate) / laborRate;
            GetMetalDetailsFromGoogle(js.ProjectName);
            if (js.ProjectName == "Paraseal LG")
            {
                Metals      = GetMetalsLG();
                AddOnMetals = GetAddOnMetalsLG();
            }
            else
            {
                Metals      = GetMetals();
                AddOnMetals = GetAddOnMetals();
            }

            MiscMetals = GetMiscMetals();
            if (js.ProjectName == "Multicoat")
            {
                MiscMetals.Where(x => x.Name == "Nosing for Concrete risers").FirstOrDefault().Units = 0;
            }
            //if (js.ProjectName == "Paraseal LG")
            //{
            //    foreach (Metal item in Metals.Where(x=>x.Name.Contains("STAIR METAL")))
            //    {
            //        item.Units = 0;
            //    }
            //}
            CalculateCost(null);
            js.JobSetupChange += JobSetup_OnJobSetupChange;
        }
        public virtual void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup js = sender as JobSetup;

            if (js != null)
            {
                if (isApprovedForCement != js.IsApprovedForSandCement)
                {
                    isApprovedForCement = js.IsApprovedForSandCement;
                    SlopeMaterialName   = isApprovedForCement ? "Sand and Cement" : js.SlopeMaterialName;
                }

                isPrevailingWage = js.IsPrevalingWage;
                if (isPrevailingWage)
                {
                    double.TryParse(freightData[5][0].ToString(), out productionRate);
                }
                else
                {
                    productionRate = 0;
                }
                laborRate      = js.LaborRate;
                hasDiscount    = js.HasDiscount;
                materialPerc   = getMaterialDiscount(js.ProjectDelayFactor);
                prevailingWage = js.ActualPrevailingWage == 0 ? 0 : (js.ActualPrevailingWage - laborRate) / laborRate;
                reCalculate();
            }

            CalculateAll();
        }
Example #4
0
            public void WillSucceedOnSettingProperty()
            {
                var setup = new JobSetup<BuildBuildingsJob>(null);
                setup.Set(bbj => bbj.PlanetID, 10);

                Assert.AreEqual(setup.Get(bbj => bbj.PlanetID), 10);
            }
Example #5
0
 public DexoSlopeViewModel(JobSetup Js)
 {
     GetSlopeDetailsFromGoogle(Js.ProjectName);
     Slopes = CreateSlopes();
     CalculateAll();
     Js.JobSetupChange += JobSetup_OnJobSetupChange;
 }
Example #6
0
        private void ProjectJobSetUp_OnProjectNameChange(object sender, EventArgs e)
        {
            JobSetup js = sender as JobSetup;

            if (js != null)
            {
                if (js.WorkArea != "")
                {
                    var prj = EnabledProjects.Where(x => x.WorkArea == js.WorkArea && x.OriginalProjectName != js.ProjectName);
                    if (prj.Count() != 0)
                    {
                        MessageBox.Show("Same Workarea name has already been applied", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        js.WorkArea = "";
                        return;
                    }
                }
            }
            foreach (Project item in EnabledProjects)
            {
                if (item.ProjectJobSetUp.WorkArea != null)
                {
                    if (item.ProjectJobSetUp.WorkArea != "")
                    {
                        item.Name = item.ProjectJobSetUp.WorkArea;
                    }
                    else
                    {
                        item.Name = item.ProjectJobSetUp.ProjectName;
                    }
                }
            }
        }
Example #7
0
        public MulticoatMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js) : base(metalTotals, slopeTotals, Js)
        {
            materialNames       = new Dictionary <string, string>();
            linearFootageCoping = Js.LinearCopingFootage;
            FillMaterialList();

            FetchMaterialValuesAsync(false);
        }
        public DesertbrandMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js) : base(metalTotals, slopeTotals, Js)
        {
            materialNames             = new Dictionary <string, string>();
            IsJobSpecifiedByArchitect = Js.IsJobSpecifiedByArchitect;
            FillMaterialList();

            FetchMaterialValuesAsync(false);
        }
Example #9
0
 public DexoMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js) : base(metalTotals, slopeTotals, Js)
 {
     materialNames = new Dictionary <string, string>();
     FillMaterialList();
     FetchMaterialValuesAsync(false);
     //set  resititeLiquid QTY
     resistiteQty();
 }
Example #10
0
            public void WillSucceedOnSettingProperty()
            {
                var setup = new JobSetup <BuildBuildingsJob>(null);

                setup.Set(bbj => bbj.PlanetID, 10);

                Assert.AreEqual(setup.Get(bbj => bbj.PlanetID), 10);
            }
        public _201MaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup js) : base(metalTotals, slopeTotals, js)
        {
            materialNames = new Dictionary <string, string>();
            isIndependent = js.IsProjectIndependent;
            FillMaterialList();

            FetchMaterialValuesAsync(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;
        }
Example #13
0
 public EnduroKoteSlopeViewModel(JobSetup Js)
 {
     GetSlopeDetailsFromGoogle(Js.ProjectName);
     Js.SlopeMaterialName = "ECC Enduro-Crete";
     SlopeMaterialName    = Js.IsApprovedForSandCement ? "Sand and Cement" : "ECC Enduro-Crete";
     Slopes = CreateSlopes();
     CalculateAll();
     Js.JobSetupChange += JobSetup_OnJobSetupChange;
 }
Example #14
0
 public DexoMetalViewModel(JobSetup js)
 {
     GetMetalDetailsFromGoogle("Dexotex Barrier Gaurd");
     Metals      = this.GetMetals();
     MiscMetals  = this.GetMiscMetals();
     AddOnMetals = this.GetAddOnMetals();
     CalculateCost(null);
     js.JobSetupChange += Js_OnJobSetupChange;
 }
Example #15
0
        public TufflexMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js) : base(metalTotals, slopeTotals, Js)
        {
            materialNames    = new Dictionary <string, string>();
            TotalSqftPlywood = Js.TotalSqftPlywood;

            IsNewPlaywood = Js.IsNewPlywood;
            FillMaterialList();

            FetchMaterialValuesAsync(false);
        }
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                IsSystemOverConcrete = Js.IsSystemOverConcrete;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
 public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
 {
     JobSetup js = sender as JobSetup;
     if (js != null)
     {
         
         linearCoping = js.DeckPerimeter;
     }
     base.JobSetup_OnJobSetupChange(sender, e);
 }
Example #18
0
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup js = sender as JobSetup;

            if (js != null)
            {
                linearFootageCoping = js.LinearCopingFootage;
            }

            base.JobSetup_OnJobSetupChange(sender, e);
        }
 public ParkingMaterialViewModel(Totals metalTotals, Totals slopeTotals, JobSetup Js) : base(metalTotals, slopeTotals, Js)
 {
     MaterialNames    = new Dictionary <string, string>();
     TotalSqftPlywood = Js.TotalSqftPlywood;
     IsReseal         = Js.IsReseal;
     IsNewPlaywood    = Js.IsNewPlywood;
     RequireFlashing  = Js.IsFlashingRequired;
     FillMaterialList();
     SystemMaterial.OnUnitChanged += (s, e) => { setUnitChangeValues(); };
     FetchMaterialValuesAsync(false);
 }
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup js = sender as JobSetup;

            if (js != null)
            {
                isNewPlywood     = (bool)js.IsNewPlywood;
                totalSqftPlywood = js.TotalSqftPlywood;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
Example #21
0
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                TotalSqftPlywood = Js.TotalSqftPlywood;
                IsNewPlaywood    = Js.IsNewPlywood;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
        public PedestrianSlopeViewModel(JobSetup Js)
        {
            IsUrethaneVisible = System.Windows.Visibility.Visible;
            GetSlopeDetailsFromGoogle(Js.ProjectName);
            double.TryParse(perMixRates[15][1].ToString(), out urethaneManualAvgMixPrice);
            isApprovedForCement = Js.IsApprovedForSandCement;

            Slopes         = CreateSlopes(0);
            UrethaneSlopes = CreateSlopes(9);
            CalculateAll();
            Js.JobSetupChange += JobSetup_OnJobSetupChange;
        }
Example #23
0
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup js = sender as JobSetup;

            if (js != null)
            {
                linearFootageCoping  = js.DeckPerimeter;
                IsSystemOverConcrete = js.IsSystemOverConcrete;
            }

            base.JobSetup_OnJobSetupChange(sender, e);
        }
Example #24
0
        public SlopeViewModel(JobSetup js)
        {
            prevailingWage = js.ActualPrevailingWage == 0 ? 0 : (js.ActualPrevailingWage - laborRate) / laborRate;
            GetSlopeDetailsFromGoogle(js.ProjectName);
            SlopeMaterialName   = js.IsApprovedForSandCement ? "Sand and Cement" : "Dexotex A-81 Underlayment";
            isApprovedForCement = js.IsApprovedForSandCement;
            Slopes = CreateSlopes();
            js.SlopeMaterialName = "Dexotex A-81 Underlayment";

            CalculateAll();
            js.JobSetupChange += JobSetup_OnJobSetupChange;
        }
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                additionalTermBarLF        = Js.AdditionalTermBarLF;
                insideOutsideCornerDetails = Js.InsideOutsideCornerDetails;
                superStopFooting           = Js.SuperStopAtFooting;
                linearFootage = Js.LinearCopingFootage;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                hasMortarBed        = Js.HasQuarterLessMortarBed;
                hasQuarterMortarBed = Js.HasQuarterMortarBed;
                hasElastatex        = Js.HasElastex;
                linearFootage       = Js.LinearCopingFootage;
                hasNoLadder         = Js.HasEasyAccess;
                totalSqftVertical   = Js.TotalSqftVertical;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
Example #27
0
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                additionalTermBarLF        = Js.TermBarLF;
                insideOutsideCornerDetails = Js.InsideOutsideCornerDetails;
                superStopFooting           = Js.SuperStopAtFooting;
                linearFootage     = Js.LinearCopingFootage;
                penetrations      = Js.Penetrations;
                totalSqftVertical = Js.TotalSqftVertical;
                totalSqftPlywood  = Js.TotalSqftPlywood;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
Example #28
0
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                termBar           = Js.TermBarLF;
                rebarPrepWalls    = Js.RebarPrepWallsLF;
                superStop         = Js.SuperStopLF;
                penetrations      = Js.Penetrations;
                totalSqftVertical = Js.TotalSqftVertical;
                totalPlywoodSqft  = Js.TotalSqftPlywood;
                hasNewPlywood     = (bool)Js.IsNewPlywood;
            }
            base.JobSetup_OnJobSetupChange(sender, e);
        }
Example #29
0
        internal static Func <IScheduler, Guid> Create(Dictionary <string, string> attributes)
        {
            return(s =>
            {
                var descriptor = ConfigurationParser.ParseAttributes(attributes);

                var jobSetup = new JobSetup()
                {
                    WaitSource = descriptor.Item2
                };

                return (Guid)typeof(IScheduler).GetMethod("AddJob")
                .MakeGenericMethod(descriptor.Item1)
                .Invoke(s, new object[] { jobSetup });
            });
        }
Example #30
0
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            base.JobSetup_OnJobSetupChange(sender, e);
            JobSetup js = sender as JobSetup;

            if (js != null)
            {
                if (js.DeckPerimeter > 0)
                {
                    SystemMaterials.Where(x => x.Name == "RP FABRIC 10 INCH WIDE X (300 LF)").First().IsMaterialChecked = true;
                }
                else
                {
                    SystemMaterials.Where(x => x.Name == "RP FABRIC 10 INCH WIDE X (300 LF)").First().IsMaterialChecked = false;
                }
            }
        }
        public override void JobSetup_OnJobSetupChange(object sender, EventArgs e)
        {
            JobSetup Js = sender as JobSetup;

            if (Js != null)
            {
                TotalSqftPlywood = Js.TotalSqftPlywood;
                IsReseal         = Js.IsReseal;
                IsNewPlaywood    = Js.IsNewPlywood;
                RequireFlashing  = Js.IsFlashingRequired;

                SystemMaterials.Where(x => x.Name == "SLOPING FOR TREADS IF NOT PROVIDED FOR IN FRAMING (MOST CASES NEED SLOPE)").
                FirstOrDefault().SMUnits = Js.RiserCount.ToString();
            }

            base.JobSetup_OnJobSetupChange(sender, e);
        }