private void UpdateAssignedBoxesForIglakPojemnik(string[] selectedBoxes, IglakPojemnik iglakToUpdate)
        {
            if (selectedBoxes == null)
            {
                iglakToUpdate.Boxes = new List <Box>();
                return;
            }

            var selectedBoxesHS   = new HashSet <string>(selectedBoxes);
            var krzewIglastyBoxes = new HashSet <int>(iglakToUpdate.Boxes.Select(b => b.BoxID));

            foreach (var box in context.Boxes)
            {
                if (selectedBoxesHS.Contains(box.BoxID.ToString()))
                {
                    if (!krzewIglastyBoxes.Contains(box.BoxID))
                    {
                        iglakToUpdate.Boxes.Add(box);
                    }
                }
                else
                {
                    if (krzewIglastyBoxes.Contains(box.BoxID))
                    {
                        iglakToUpdate.Boxes.Remove(box);
                    }
                }
            }
        }
        public ActionResult EditIglakPojemnik(int productID)
        {
            IglakPojemnik iglakPojemnik = iglakPojemnikRepository.IglakiPojemnik.AsQueryable().Include(b => b.Boxes).FirstOrDefault(d => d.ProductID == productID);

            //iglakPojemnik.Date = DateTime.Now;
            PopulateAssignedBoxesForIglakPojemnik(iglakPojemnik);
            return(View(iglakPojemnik));
        }
        public ActionResult DeleteIglakPojemnik(int productID)
        {
            IglakPojemnik deletedIglakPojemnik = iglakPojemnikRepository.DeleteIglakPojemnik(productID);

            if (deletedIglakPojemnik != null)
            {
                TempData["message"] = string.Format("Usunieto {0}", deletedIglakPojemnik.Name);
            }
            return(RedirectToAction("IglakPojemnikList"));
        }
        public ActionResult CreateIglakPojemnik()
        {
            var iglakPojemnik = new IglakPojemnik();

            iglakPojemnik.Date      = DateTime.Now;
            iglakPojemnik.Available = true;
            iglakPojemnik.Boxes     = new List <Box>();
            PopulateAssignedBoxesForIglakPojemnik(iglakPojemnik);
            return(View("EditIglakPojemnik", iglakPojemnik));
        }
        public IglakPojemnik DeleteIglakPojemnik(int iglakPojemnikID)
        {
            IglakPojemnik dbEntry = context.IglakiPojemnik.Find(iglakPojemnikID);

            if (dbEntry != null)
            {
                context.IglakiPojemnik.Remove(dbEntry);
                context.SaveChanges();
            }
            return(dbEntry);
        }
Exemple #6
0
        public FileContentResult GetImage(int productID)
        {
            IglakPojemnik iglakPojemnik = repository.IglakiPojemnik.FirstOrDefault(p => p.ProductID == productID);

            if (iglakPojemnik != null)
            {
                return(File(iglakPojemnik.ImageData, iglakPojemnik.ImageMimeType));
            }
            else
            {
                return(null);
            }
        }
Exemple #7
0
        public ActionResult Details(int?productID)
        {
            if (productID == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            IglakPojemnik iglakPojemnik = repository.IglakiPojemnik.FirstOrDefault(k => k.ProductID == productID);

            if (iglakPojemnik == null)
            {
                return(HttpNotFound());
            }
            return(View(iglakPojemnik));
        }
 public void SaveIglakPojemnik(string[] selectedbox, IglakPojemnik iglakPojemnik)
 {
     if (iglakPojemnik.ProductID == 0)
     {
         if (selectedbox != null)
         {
             iglakPojemnik.Boxes = new List <Box>();
             foreach (var box in selectedbox)
             {
                 var boxnumber = int.Parse(box);
                 var boxToAdd  = context.Boxes.Where(b => b.BoxID == boxnumber).FirstOrDefault();
                 iglakPojemnik.Boxes.Add(boxToAdd);
             }
         }
         context.IglakiPojemnik.Add(iglakPojemnik);
     }
     else
     {
         IglakPojemnik dbEntry = context.IglakiPojemnik.Include(b => b.Boxes).Where(k => k.ProductID == iglakPojemnik.ProductID).FirstOrDefault();
         if (dbEntry != null)
         {
             UpdateAssignedBoxesForIglakPojemnik(selectedbox, dbEntry);
             //Product
             dbEntry.Name        = iglakPojemnik.Name;
             dbEntry.Date        = iglakPojemnik.Date;
             dbEntry.Description = iglakPojemnik.Description;
             dbEntry.Price       = iglakPojemnik.Price;
             dbEntry.Discount    = iglakPojemnik.Discount;
             dbEntry.Description = iglakPojemnik.Description;
             dbEntry.Available   = iglakPojemnik.Available;
             if (dbEntry.Available == true)
             {
                 dbEntry.Quantity = iglakPojemnik.Quantity;
             }
             else
             {
                 dbEntry.Quantity = null;
             }
             dbEntry.HeightMin     = iglakPojemnik.HeightMin;
             dbEntry.HeightMax     = iglakPojemnik.HeightMax;
             dbEntry.ImageData     = iglakPojemnik.ImageData;
             dbEntry.ImageMimeType = iglakPojemnik.ImageMimeType;
             //IglakiGrunt
         }
     }
     context.SaveChanges();
 }
        private void PopulateAssignedBoxesForIglakPojemnik(IglakPojemnik iglakPojemnik)
        {
            var allBoxes           = boxesRepository.Boxes;
            var iglakPojemnikBoxes = new HashSet <int>(iglakPojemnik.Boxes.Select(i => i.BoxID));
            var viewModel          = new List <AssignedBoxes>();

            foreach (var box in allBoxes)
            {
                viewModel.Add(new AssignedBoxes
                {
                    BoxID    = box.BoxID,
                    Title    = box.Name,
                    Assigned = iglakPojemnikBoxes.Contains(box.BoxID)
                });
            }
            ViewBag.Boxes = viewModel;
        }
        public ActionResult EditIglakPojemnik(string[] selectedBoxes, IglakPojemnik iglakPojemnik, HttpPostedFileBase image = null)
        {
            if (ModelState.IsValid)
            {
                if (image != null)
                {
                    iglakPojemnik.ImageMimeType = image.ContentType;
                    iglakPojemnik.ImageData     = new byte[image.ContentLength];
                    image.InputStream.Read(iglakPojemnik.ImageData, 0, image.ContentLength);
                }

                iglakPojemnikRepository.SaveIglakPojemnik(selectedBoxes, iglakPojemnik);
                TempData["message"] = string.Format("Zapisano {0} ", iglakPojemnik.Name);
                return(RedirectToAction("IglakPojemnikList"));
            }
            else
            {
                return(View(iglakPojemnik));
            }
        }