Beispiel #1
0
        public ActionResult CreateConfirmed(Produkt_Typ_Rohstoff_Indikator _produktDetails)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _produktDetails._Produkt.DateOfChanging = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                    _produktDetails._Produkt.DateOfCreation = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                    _produktDetails._Produkt.CreatedBy      = Request.IsAuthenticated ? User.Identity.GetUserName() : "Besucher";
                    _produktDetails._Produkt.ChangedBy      = Request.IsAuthenticated ? User.Identity.GetUserName() : "Besucher";
                    _produktDetails._Produkt.Typ_Id         = _produktDetails._ProduktTyp.Id;
                    _db.Produkts.Add(_produktDetails._Produkt);
                    _db.SaveChanges();
                    int id = _produktDetails._Produkt.Id;
                    //Indikator speichern

                    for (int i = 0; i < _produktDetails.ProduktRohstoff.Count; i++)
                    {
                        _produktDetails.ProduktRohstoff[i].Rohstoff.Produkt_Id = id;

                        _db.Rohstoffs.Add(_produktDetails.ProduktRohstoff[i].Rohstoff);
                        _db.SaveChanges();

                        for (int j = 0; j < _produktDetails.ProduktRohstoff.ElementAt(i).LRohstoffe.Count; j++)
                        {
                            _produktDetails.ProduktRohstoff.ElementAt(i).LRohstoffe.ElementAt(j).Rohstoff_Id =
                                _produktDetails.ProduktRohstoff.ElementAt(i).Rohstoff.Id;
                            _db.Umweltindikatorwerts.Add(_produktDetails.ProduktRohstoff.ElementAt(i).LRohstoffe
                                                         .ElementAt(j));
                            _db.SaveChanges();
                        }
                    }

                    return(RedirectToAction("Index"));
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }


            return(HttpNotFound());
        }
Beispiel #2
0
        public ActionResult Details(int?Id)
        {
            var proid = _db.Produkts.Find(Id);
            var ro    = _db.Rohstoffs.Select(s => s).ToList();
            var uw    = _db.Umweltindikatorwerts.Select(s => s).ToList();

            // var pri = _db.ProduktRohstoffUmweltindikators.Select(s => s).ToList();

            // var roh = _db.Rohstoffes.Select(s => s).ToList();//Finde alle Rohstoffe
            // var uwi = _db.Umweltindikators.Select(s => s).ToList();//Finde alle Umwelindikatoren

            List <Umweltindikatorwert> lUmweltind = new List <Umweltindikatorwert>();
            List <Rohstoff>            lRohstoff  = new List <Rohstoff>();

            foreach (var itemRo in ro)
            {
                if (proid != null && itemRo.Produkt_Id == proid.Id)
                {
                    lRohstoff.Add(itemRo);
                    foreach (var itemUw in uw)
                    {
                        if (itemRo.Id == itemUw.Rohstoff_Id)
                        {
                            lUmweltind.Add(itemUw);
                        }
                    }
                }
            }

            Produkt_Typ_Rohstoff_Indikator _view = new Produkt_Typ_Rohstoff_Indikator();

            _view._Produkt     = proid;
            _view._ProduktTyp  = _db.ProduktTyps.FirstOrDefault(i => i.Id == _view._Produkt.Typ_Id);
            _view._lRohstoff   = lRohstoff;
            _view._Rohstoffe   = _db.Rohstoffes.Select(s => s).ToList();
            _view._lUmweltindi = lUmweltind;
            _view._LIndikator  = _db.Umweltindikators.Select(s => s).ToList();

            //Diagramm-Data
            List <DataPoint> dataPoints = new List <DataPoint>();

            foreach (var itemUw in _view._lUmweltindi)
            {
                dataPoints.Add(new DataPoint(_view._LIndikator.FirstOrDefault(i => i.Id == itemUw.Umweltindikator_Id).Name, itemUw.Wert));
            }

            ViewBag.DataPoints = (dataPoints);
            return(View(_view));
        }
Beispiel #3
0
        public ActionResult Edit(int?Id)
        {
            if (Id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Produkt_Typ_Rohstoff_Indikator produkt = new Produkt_Typ_Rohstoff_Indikator();
            List <ProduktRohstoff>         lPRUW   = new List <ProduktRohstoff>();
            ProduktRohstoff pr  = new ProduktRohstoff();
            var             roh = _db.Rohstoffs.Select(s => s).ToList();
            var             uw  = _db.Umweltindikatorwerts.Select(s => s).ToList();

            for (int i = 0; i < roh.Count; i++)
            {
                if (roh[i].Produkt_Id == Convert.ToInt32(Id))
                {
                    pr.Rohstoff   = roh[i];
                    pr.LRohstoffe = new List <Umweltindikatorwert>();
                    for (int j = 0; j < uw.Count; j++)
                    {
                        if (roh[i].Id == uw[j].Rohstoff_Id)
                        {
                            pr.LRohstoffe.Add(uw[j]);
                        }
                    }
                    lPRUW.Add(pr);
                }
            }
            produkt = new Produkt_Typ_Rohstoff_Indikator
            {
                _Typ_Id         = _db.ProduktTyps.ToList(),
                _Produkt        = _db.Produkts.Find(Id),
                _LIndikator     = _db.Umweltindikators.ToList(),
                _Rohstoffe      = _db.Rohstoffes.ToList(),
                ProduktRohstoff = lPRUW,
                _MengeEinheit   = _db.MengeEinheits.ToList()
            };

            if (produkt._Produkt == null)
            {
                return(HttpNotFound());
            }
            return(View(produkt));
        }
Beispiel #4
0
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Produkt_Typ_Rohstoff_Indikator viewModel = new Produkt_Typ_Rohstoff_Indikator
            {
                _Typ_Id     = _db.ProduktTyps.ToList(),
                _LIndikator = _db.Umweltindikators.ToList(),
                _Produkt    = _db.Produkts.Find(id)
            };

            if (viewModel._Produkt == null)
            {
                return(HttpNotFound());
            }
            return(View(viewModel._Produkt));
        }
Beispiel #5
0
        public ActionResult Create(Produkt_Typ_Rohstoff_Indikator _produktTypRohstoffIndikator = null)
        {
            Produkt_Typ_Rohstoff_Indikator viewModel = new Produkt_Typ_Rohstoff_Indikator();
            ProduktRohstoff produktRohstoff          = new ProduktRohstoff();

            produktRohstoff.LRohstoffe = new List <Umweltindikatorwert>();
            produktRohstoff.LRohstoffe.Add(new Umweltindikatorwert());
            if (_produktTypRohstoffIndikator != null)
            {
                _produktTypRohstoffIndikator.ProduktRohstoff = new List <ProduktRohstoff>();
                _produktTypRohstoffIndikator.ProduktRohstoff.Add(produktRohstoff);
                viewModel = new Produkt_Typ_Rohstoff_Indikator
                {
                    _Typ_Id         = _db.ProduktTyps.ToList(),
                    _LIndikator     = _db.Umweltindikators.ToList(),
                    _Rohstoffe      = _db.Rohstoffes.ToList(),
                    ProduktRohstoff = _produktTypRohstoffIndikator.ProduktRohstoff,
                    _MengeEinheit   = _db.MengeEinheits.ToList()
                };
            }
            return(View(viewModel));
        }
Beispiel #6
0
        public ActionResult Edit(Produkt_Typ_Rohstoff_Indikator _produktDetails)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _db.Entry(_produktDetails._Produkt).State = EntityState.Modified;
                    _produktDetails._Produkt.DateOfChanging   = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                    _produktDetails._Produkt.ChangedBy        = Request.IsAuthenticated ? User.Identity.GetUserName() : "Besucher";
                    for (int i = 0; i < _produktDetails.ProduktRohstoff.Count; i++)
                    {
                        _produktDetails.ProduktRohstoff[i].Rohstoff.Produkt_Id = _produktDetails._Produkt.Id;
                        _db.Rohstoffs.Add(_produktDetails.ProduktRohstoff[i].Rohstoff);
                        _db.SaveChanges();
                        for (int j = 0; j < _produktDetails.ProduktRohstoff.ElementAt(i).LRohstoffe.Count; j++)
                        {
                            _produktDetails.ProduktRohstoff[i].LRohstoffe[j].Rohstoff_Id =
                                _produktDetails.ProduktRohstoff[i].Rohstoff.Id;
                            _db.Umweltindikatorwerts.Add(_produktDetails.ProduktRohstoff[i].LRohstoffe[j]);
                            _db.SaveChanges();
                        }
                    }

                    //Indikator speichern
                    //   var indi = from a in _db.Umweltindikators where a.Id == _produktDetails._Indikator.Id select a.Id;
                    //   _produktDetails._Umweltindikatorwert.Umweltindikator_Id = indi.FirstOrDefault();
                    //   _produktDetails._Umweltindikatorwert.Wert = _produktDetails._Umweltindikatorwert.Wert;
                    //   _db.Umweltindikatorwerts.Add(_produktDetails._Umweltindikatorwert);
                    //   _db.SaveChanges();
                    //   var idindi = from a in _db.Umweltindikatorwerts
                    //       where (a.Umweltindikator_Id == indi.FirstOrDefault()) && (a.Wert == _produktDetails._Umweltindikatorwert.Wert)
                    //       select a.Id;
                    //   //Indikator speichern

                    //   //Rohstoff speichern
                    //  // _produktDetails._Rohstoff.Umweltindikator_Id = idindi.FirstOrDefault();
                    //   _produktDetails._Rohstoff.Rohstoff_Id = _produktDetails._Rohstoff.Id;
                    //   _db.Rohstoffs.Add(_produktDetails._Rohstoff);
                    //   _db.SaveChanges();
                    //   var rohid = from a in _db.Rohstoffs where (a.Rohstoff_Id == _produktDetails._Rohstoff.Id) && (a.Menge_in_t == _produktDetails._Rohstoff.Menge_in_t) select a.Id;
                    //   //Rohstoff speichern Ende

                    //   //Produkt speichern
                    //   var pa = from a in _db.ProduktTyps where a.Id == _produktDetails._ProduktTyp.Id select a.Id;
                    //   _produktDetails._Produkt.Typ_Id = pa.FirstOrDefault();
                    ////   _produktDetails._Produkt.Rohstoff_Id = rohid.FirstOrDefault();
                    //   _db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }

            return(View(_produktDetails));
        }