示例#1
0
        private void PopulateOptions(ProductionUnitViewModel productionUnitViewModel)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            var currentOptions = db.OptionLists.Include(o => o.productionUnit)
                                 .Include(o => o.option)
                                 .Where(p => p.productionUnit.Id == productionUnitViewModel.Id)
                                 .Select(p => p.option);

            productionUnitViewModel.options = currentOptions.Select(m => new OptionViewModel
            {
                Id   = m.Id,
                name = m.name
            })
                                              .OrderBy(e => e.name).ToList();

            var options = db.Options;

            ViewBag.Options = options.Except(currentOptions).Select(m => new OptionViewModel
            {
                Id   = m.Id,
                name = m.name
            })
                              .OrderBy(e => e.name);
        }
示例#2
0
        public void Destroy(ProductionUnitViewModel productionUnit)
        {
            var currentProductionUnit = entities.ProductionUnits.Where(p => p.Id == productionUnit.Id).FirstOrDefault();

            entities.ProductionUnits.Remove(currentProductionUnit);

            entities.SaveChanges();
        }
示例#3
0
        public void Destroy(ProductionUnitViewModel message)
        {
            var entity = new Measure();

            entity.Id = message.Id;

            entities.Measures.Attach(entity);
            entities.Measures.Remove(entity);

            entities.SaveChanges();
        }
        public ActionResult Update(ProductionUnitViewModel model, string returnUrl)
        {
            //if (ModelState.IsValid)
            //{
            var db = new ApplicationDbContext();
            var productionUnitService = new ProductionUnitService(db);

            productionUnitService.Update(model);
            //}

            return(Redirect("/PioneerProductionSite/" + model.Id));
        }
示例#5
0
        public void Create(ProductionUnitViewModel productionUnit)
        {
            var entity = new ProductionUnit();

            entity.Id                = productionUnit.Id;
            entity.startDate         = productionUnit.startDate.Value;
            entity.locationLatitude  = productionUnit.locationLatitude;
            entity.locationLongitude = productionUnit.locationLongitude;
            entity.version           = productionUnit.version;
            entity.info              = productionUnit.info;
            //entity.options = productionUnit.options;
            entity.reference           = productionUnit.reference;
            entity.picturePath         = productionUnit.picturePath;
            entity.lastMeasureReceived = productionUnit.lastMeasureReceived;

            if (entity.productionUnitType == null)
            {
                var productionUnitType = entities.ProductionUnitTypes.Where(p => p.Id == productionUnit.productionUnitTypeId).FirstOrDefault();
                entity.productionUnitType = productionUnitType;
            }

            if (entity.hydroponicType == null)
            {
                var hydroponicType = entities.HydroponicTypes.Where(p => p.Id == productionUnit.hydroponicTypeId).FirstOrDefault();
                entity.hydroponicType = hydroponicType;
            }

            if (entity.productionUnitStatus == null)
            {
                var productionUnitStatus = entities.ProductionUnitStatus.Where(p => p.Id == productionUnit.productionUnitStatusId).FirstOrDefault();
                entity.productionUnitStatus = productionUnitStatus;
            }

            if (entity.owner == null)
            {
                var owner = entities.ProductionUnitOwners.Where(p => p.Id == productionUnit.ownerId).FirstOrDefault();
                entity.owner = owner;
            }

            entities.ProductionUnits.Add(entity);

            entities.SaveChanges();

            productionUnit.Id = entity.Id;
        }
示例#6
0
        public void Update(ProductionUnitViewModel productionUnit)
        {
            ProductionUnit target = new ProductionUnit();

            target = entities.ProductionUnits.Where(p => p.Id == productionUnit.Id).Include(m => m.productionUnitType)
                     .Include(m => m.productionUnitStatus)
                     .Include(m => m.owner)
                     .Include(m => m.hydroponicType).FirstOrDefault();

            if (target != null)
            {
                target.startDate         = productionUnit.startDate.Value;
                target.locationLatitude  = productionUnit.locationLatitude;
                target.locationLongitude = productionUnit.locationLongitude;
                target.version           = productionUnit.version;
                target.info = productionUnit.info;
                // target.options = productionUnit.options;
                target.reference           = productionUnit.reference;
                target.picturePath         = productionUnit.picturePath;
                target.lastMeasureReceived = productionUnit.lastMeasureReceived;

                ProductionUnitType currentProductionUnitType = new ProductionUnitType();
                currentProductionUnitType = entities.ProductionUnitTypes.Where(p => p.Id == productionUnit.productionUnitTypeId).FirstOrDefault();

                target.productionUnitType = currentProductionUnitType;

                HydroponicType currentHydroponicType = new HydroponicType();
                currentHydroponicType = entities.HydroponicTypes.Where(p => p.Id == productionUnit.hydroponicTypeId).FirstOrDefault();

                target.hydroponicType = currentHydroponicType;

                ProductionUnitStatus currentProductionUnitStatus = new ProductionUnitStatus();
                currentProductionUnitStatus = entities.ProductionUnitStatus.Where(p => p.Id == productionUnit.productionUnitStatusId).FirstOrDefault();

                target.productionUnitStatus = currentProductionUnitStatus;

                ProductionUnitOwner currentProductionUnitOwner = new ProductionUnitOwner();
                currentProductionUnitOwner = entities.ProductionUnitOwners.Where(p => p.Id == productionUnit.ownerId).FirstOrDefault();

                target.owner = currentProductionUnitOwner;
            }

            entities.SaveChanges();
        }
示例#7
0
        public void Create(ProductionUnitViewModel productionUnit)
        {
            var entity = new ProductionUnit();

            entity.Id                = productionUnit.Id;
            entity.startDate         = productionUnit.startDate;
            entity.locationLatitude  = productionUnit.locationLatitude;
            entity.locationLongitude = productionUnit.locationLongitude;
            entity.version           = productionUnit.version;
            entity.info              = productionUnit.info;
            entity.options           = productionUnit.options;
            entity.reference         = productionUnit.reference;
            entity.picturePath       = productionUnit.picturePath;

            if (entity.productionUnitType == null)
            {
                entity.productionUnitType    = new ProductionUnitType();
                entity.productionUnitType.Id = productionUnit.productionUnitTypeId;
            }

            if (entity.hydroponicType == null)
            {
                entity.hydroponicType    = new HydroponicType();
                entity.hydroponicType.Id = productionUnit.hydroponicTypeId;
            }

            if (entity.productionUnitStatus == null)
            {
                entity.productionUnitStatus    = new ProductionUnitStatus();
                entity.productionUnitStatus.Id = productionUnit.productionUnitStatusId;
            }

            if (entity.owner == null)
            {
                entity.owner    = new ProductionUnitOwner();
                entity.owner.Id = productionUnit.ownerId;
            }

            entities.ProductionUnits.Add(entity);
            entities.SaveChanges();

            productionUnit.Id = entity.Id;
        }
        private List <OptionViewModel> PopulateOptions(ProductionUnitViewModel productionUnitViewModel)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            var currentOptions = db.OptionLists.Include(o => o.productionUnit)
                                 .Include(o => o.option)
                                 .Where(p => p.productionUnit.Id == productionUnitViewModel.Id)
                                 .Select(p => p.option);

            productionUnitViewModel.options = currentOptions.Select(m => new OptionViewModel
            {
                Id   = m.Id,
                name = m.name
            })
                                              .OrderBy(e => e.name).ToList();

            var options = db.Options;

            var allOptions = options.Select(m => new OptionViewModel
            {
                Id   = m.Id,
                name = m.name,
            })
                             .OrderBy(e => e.name).ToList();

            foreach (var item in allOptions)
            {
                foreach (var item2 in productionUnitViewModel.options)
                {
                    if (item.Id == item2.Id)
                    {
                        item.Checked = true;
                        break;
                    }
                }
            }

            return(allOptions);
        }
        public ActionResult Editing_Destroy([DataSourceRequest] DataSourceRequest request, ProductionUnitViewModel currentProductionUnit)
        {
            ApplicationDbContext  db = new ApplicationDbContext();
            ProductionUnitService productionUnitService = new ProductionUnitService(db);

            if (currentProductionUnit != null)
            {
                if (currentProductionUnit.lastMeasureReceived != null)
                {
                    ModelState.AddModelError("inUse", new Exception("[[[Production Unit already in use]]]"));
                }
                else
                {
                    productionUnitService.Destroy(currentProductionUnit);
                }
            }

            return(Json(new[] { currentProductionUnit }.ToDataSourceResult(request, ModelState)));
        }
示例#10
0
        public ActionResult Editing_Update([DataSourceRequest] DataSourceRequest request, ProductionUnitViewModel currentProductionUnit)
        {
            ApplicationDbContext  db = new ApplicationDbContext();
            ProductionUnitService productionUnitService = new ProductionUnitService(db);

            if (ModelState.IsValid)
            {
                productionUnitService.Update(currentProductionUnit);
            }

            return(Json(new[] { currentProductionUnit }.ToDataSourceResult(request, ModelState)));
        }