public void Init(ZustandsErfassungsmodus zem)
        {
            ZustandsErfassungsmodus = zem;

            RefreshCalculations();
            Notify(() => GrobItemViewModels);
            Notify(() => DetailGroupItemViewModels);
        }
Beispiel #2
0
        public ActionResult GetCreateErfassungForm(ZustandsErfassungsmodus zustandsErfassungsmodus, Guid id)
        {
            var model = fahrbahnZustandServiceBase.GetDefaultZustandsabschnittdetailsModel(id, zustandsErfassungsmodus);

            return(PartialView("ErfassungForm", new ZustandsabschnittMonsterModel()
            {
                Fahrbahn = model
            }));
        }
        public ActionResult GetErfassungForm(ZustandsErfassungsmodus zustandsErfassungsmodus, Guid zustandsabschnittId)
        {
            var model = fahrbahnZustandServiceBase.GetZustandsabschnittdetailsModel(zustandsabschnittId, zustandsErfassungsmodus);

            switch (zustandsErfassungsmodus)
            {
            case ZustandsErfassungsmodus.Manuel:
                return(PartialView("ManuelZustandsErfassungForm", model));

            case ZustandsErfassungsmodus.Grob:
                return(PartialView("GrobZustandsErfassungForm", model));

            case ZustandsErfassungsmodus.Detail:
                return(PartialView("DetailZustandsErfassungForm", model));

            default:
                throw new ArgumentOutOfRangeException("zustandsErfassungsmodus");
            }
        }
Beispiel #4
0
        private SchadengruppeModel CreateSchadengruppeModel(SchadengruppeMetadaten schadengruppeMetadaten, ZustandsErfassungsmodus zustandsErfassungsmodus)
        {
            var schadengruppeModel = new SchadengruppeModel
            {
                Id = Guid.Empty,
                SchadenausmassTyp      = SchadenausmassTyp.A0,
                SchadenschwereTyp      = SchadenschwereTyp.S1,
                Gewicht                = schadengruppeMetadaten.Gewicht,
                SchadengruppeTyp       = schadengruppeMetadaten.SchadengruppeTyp,
                SchadendetailModelList = new List <SchadendetailModel>()
            };

            if (zustandsErfassungsmodus == ZustandsErfassungsmodus.Detail)
            {
                foreach (var schadendetailMetadaten in schadengruppeMetadaten.Schadendetails)
                {
                    var schadendetailModel = new SchadendetailModel
                    {
                        Id = Guid.Empty,
                        SchadenausmassTyp = SchadenausmassTyp.A0,
                        SchadenschwereTyp = SchadenschwereTyp.S1,
                        SchadendetailTyp  = schadendetailMetadaten.SchadendetailTyp
                    };

                    schadengruppeModel.SchadendetailModelList.Add(schadendetailModel);
                }
            }

            return(schadengruppeModel);
        }
Beispiel #5
0
        public ZustandsabschnittdetailsModel GetDefaultZustandsabschnittdetailsModel(Guid strassenabschnittId, ZustandsErfassungsmodus zustandsErfassungsmodus)
        {
            var strassenabschnittBase         = GetStrassenabschnittBase(strassenabschnittId);
            var zustandsabschnittdetailsModel = new ZustandsabschnittdetailsModel
            {
                Erfassungsmodus        = zustandsErfassungsmodus,
                Strassenname           = strassenabschnittBase.Strassenname,
                BelastungskategorieTyp = strassenabschnittBase.BelastungskategorieTyp,
                BezeichnungVon         = strassenabschnittBase.BezeichnungVon,
                BezeichnungBis         = strassenabschnittBase.BezeichnungBis,
                SchadengruppeModelList = new List <SchadengruppeModel>(),
                IsLocked              = IsLocked(strassenabschnittBase),
                Belag                 = strassenabschnittBase.Belag,
                IsGrobInitializiert   = false,
                IsDetailInitializiert = false
            };

            if (zustandsErfassungsmodus != ZustandsErfassungsmodus.Manuel)
            {
                zustandsabschnittdetailsModel.SchadengruppeModelList = schadenMetadatenService
                                                                       .GetSchadengruppeMetadaten(strassenabschnittBase.Belag)
                                                                       .Select(s => CreateSchadengruppeModel(s, zustandsErfassungsmodus))
                                                                       .ToList();
            }

            return(zustandsabschnittdetailsModel);
        }
Beispiel #6
0
 public ZustandsabschnittdetailsModel GetZustandsabschnittdetailsModel(Guid id, ZustandsErfassungsmodus zustandsErfassungsmodus)
 {
     return(CreateZustandsabschnittdetailsModel(GetZustandsabschnittBase(id), zustandsErfassungsmodus));
 }
Beispiel #7
0
        private SchadengruppeModel CreateSchadengruppeModel(SchadengruppeMetadaten schadengruppeMetadaten, ZustandsabschnittBase zustandsabschnittBase, ZustandsErfassungsmodus zustandsErfassungsmodus)
        {
            var schadengruppe = zustandsabschnittBase.Schadengruppen.SingleOrDefault(s => s.SchadengruppeTyp == schadengruppeMetadaten.SchadengruppeTyp);

            var schadengruppeModel = new SchadengruppeModel
            {
                Id = schadengruppe == null ? Guid.Empty : schadengruppe.Id,
                SchadenausmassTyp      = schadengruppe == null ? SchadenausmassTyp.A0 : schadengruppe.SchadenausmassTyp,
                SchadenschwereTyp      = schadengruppe == null ? SchadenschwereTyp.S1 : schadengruppe.SchadenschwereTyp,
                Gewicht                = schadengruppeMetadaten.Gewicht,
                SchadengruppeTyp       = schadengruppeMetadaten.SchadengruppeTyp,
                ZustandsabschnittId    = zustandsabschnittBase.Id,
                SchadendetailModelList = new List <SchadendetailModel>()
            };

            if (zustandsErfassungsmodus == ZustandsErfassungsmodus.Detail)
            {
                foreach (var schadendetailMetadaten in schadengruppeMetadaten.Schadendetails)
                {
                    var schadendetail = zustandsabschnittBase.Schadendetails.SingleOrDefault(s => s.SchadendetailTyp == schadendetailMetadaten.SchadendetailTyp);

                    var schadendetailModel = new SchadendetailModel
                    {
                        Id = schadendetail == null ? Guid.Empty : schadendetail.Id,
                        SchadenausmassTyp   = schadendetail == null ? SchadenausmassTyp.A0 : schadendetail.SchadenausmassTyp,
                        SchadenschwereTyp   = schadendetail == null ? SchadenschwereTyp.S1 : schadendetail.SchadenschwereTyp,
                        ZustandsabschnittId = zustandsabschnittBase.Id,
                        SchadendetailTyp    = schadendetailMetadaten.SchadendetailTyp
                    };

                    schadengruppeModel.SchadendetailModelList.Add(schadendetailModel);
                }
            }

            return(schadengruppeModel);
        }
Beispiel #8
0
        private ZustandsabschnittdetailsModel CreateZustandsabschnittdetailsModel(ZustandsabschnittBase zustandsabschnittBase, ZustandsErfassungsmodus zustandsErfassungsmodus)
        {
            var zustandsabschnittdetailsModel = new ZustandsabschnittdetailsModel
            {
                Id = zustandsabschnittBase.Id,
                Erfassungsmodus            = zustandsErfassungsmodus,
                Strassenname               = zustandsabschnittBase.Strassenname,
                BelastungskategorieTyp     = zustandsabschnittBase.BelastungskategorieTyp,
                BezeichnungVon             = zustandsabschnittBase.BezeichnungVon,
                BezeichnungBis             = zustandsabschnittBase.BezeichnungBis,
                Zustandsindex              = zustandsabschnittBase.Zustandsindex,
                SchadengruppeModelList     = new List <SchadengruppeModel>(),
                Dringlichkeit              = zustandsabschnittBase.Dringlichkeit,
                MassnahmenvorschlagKatalog = zustandsabschnittBase.MassnahmenvorschlagKatalogId,
                KostenFahrbahn             = zustandsabschnittBase.KostenFahrbahn,
                IsLocked = (zustandsabschnittBase is ZustandsabschnittGIS) && ((ZustandsabschnittGIS)zustandsabschnittBase).IsLocked,
                Belag    = zustandsabschnittBase.Belag,
            };

            if (zustandsabschnittBase.Erfassungsmodus == zustandsErfassungsmodus)
            {
                zustandsabschnittdetailsModel.IsDetailInitializiert = zustandsErfassungsmodus == ZustandsErfassungsmodus.Detail;
                zustandsabschnittdetailsModel.IsGrobInitializiert   = zustandsErfassungsmodus == ZustandsErfassungsmodus.Grob;
            }
            else
            {
                zustandsabschnittdetailsModel.IsDetailInitializiert = false;
                zustandsabschnittdetailsModel.IsGrobInitializiert   = false;
            }

            zustandsabschnittdetailsModel.Kosten = GetKosten(zustandsabschnittBase.MassnahmenvorschlagFahrbahn, zustandsabschnittBase.Kosten);

            if (zustandsErfassungsmodus != ZustandsErfassungsmodus.Manuel)
            {
                zustandsabschnittdetailsModel.SchadengruppeModelList = schadenMetadatenService
                                                                       .GetSchadengruppeMetadaten(zustandsabschnittBase.StrassenabschnittBase.Belag)
                                                                       .Select(s => CreateSchadengruppeModel(s, zustandsabschnittBase, zustandsErfassungsmodus))
                                                                       .ToList();
            }

            return(zustandsabschnittdetailsModel);
        }