Exemplo n.º 1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var vm   = new AddEquipmentViewModel();
            var page = new AddEquipmentWindow(vm);

            page.Show();
        }
Exemplo n.º 2
0
 /// <summary>
 /// This is to add the Equipment to the Carton; if the carton is having less than 10 items
 /// </summary>
 /// <param name="addEquipmentViewModel"></param>
 /// <returns></returns>
 public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
 {
     if (addEquipmentViewModel != null)
     {
         int count = CartonBuilderSingletonUtil.Instance.getCartonCount(addEquipmentViewModel.CartonId);
         if (count < 10)
         {
             var carton = db.Cartons
                          .Include(c => c.CartonDetails)
                          .Where(c => c.Id == addEquipmentViewModel.CartonId)
                          .SingleOrDefault();
             if (carton == null)
             {
                 return(HttpNotFound());
             }
             var equipment = db.Equipments
                             .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                             .SingleOrDefault();
             if (equipment == null)
             {
                 return(HttpNotFound());
             }
             var detail = new CartonDetail()
             {
                 Carton    = carton,
                 Equipment = equipment
             };
             carton.CartonDetails.Add(detail);
             db.SaveChanges();
         }
     }
     return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
 }
Exemplo n.º 3
0
 public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
 {
     if (ModelState.IsValid)
     {
         var carton = db.Cartons
                      .Include(c => c.CartonDetails)
                      .Where(c => c.Id == addEquipmentViewModel.CartonId)
                      .SingleOrDefault();
         if (carton == null)
         {
             return(HttpNotFound());
         }
         var equipment = db.Equipments
                         .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                         .SingleOrDefault();
         if (equipment == null)
         {
             return(HttpNotFound());
         }
         var detail = new CartonDetail()
         {
             Carton    = carton,
             Equipment = equipment
         };
         carton.CartonDetails.Add(detail);
         db.SaveChanges();
     }
     return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
 }
Exemplo n.º 4
0
        public void LoadAddEquipmentPage()
        {
            IWindowManager        manager = new WindowManager();
            AddEquipmentViewModel add     = new AddEquipmentViewModel();

            manager.ShowDialog(add, null, null);
        }
        public void LoadModifyEquipmentPage(EquipmentDTO equipment)
        {
            IWindowManager        manager = new WindowManager();
            AddEquipmentViewModel modify  = new AddEquipmentViewModel(equipment);

            manager.ShowDialog(modify, null, null);
            Reload();
        }
Exemplo n.º 6
0
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton == null)
                {
                    return(HttpNotFound());
                }

                //validate if there are more than 10 equipments in a carton
                var equipmentsCount = db.CartonDetails.Where(e => e.CartonId == addEquipmentViewModel.CartonId).Count();
                if (equipmentsCount >= 10)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Carton reaches maximum capicity, can't add more equipment!!!"));
                }

                var equipment = db.Equipments
                                .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                .SingleOrDefault();
                if (equipment == null)
                {
                    return(HttpNotFound());
                }

                //check if one equipment is already in this or other cartons
                var checkIfInCarton = db.CartonDetails.Where(e => e.EquipmentId == addEquipmentViewModel.EquipmentId).SingleOrDefault();
                if (checkIfInCarton != null)
                {
                    if (checkIfInCarton.CartonId == addEquipmentViewModel.CartonId)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Equipment already exists in current carton!!!"));
                    }
                    else
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Equipment already exists in carton " + checkIfInCarton.CartonId + "!!!"));
                    }
                }
                else
                {
                    var detail = new CartonDetail()
                    {
                        Carton    = carton,
                        Equipment = equipment
                    };
                    carton.CartonDetails.Add(detail);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
Exemplo n.º 7
0
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton != null)
                {
                    var cart = carton.CartonDetails.Where(x => x.EquipmentId == addEquipmentViewModel.EquipmentId).ToList();
                    if (cart.Count == 0)
                    {
                        //cart items count
                        if (carton.CartonDetails.ToList().Count < 10)
                        {
                            var equipment = db.Equipments
                                            .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                            .SingleOrDefault();
                            if (equipment == null)
                            {
                                return(HttpNotFound());
                            }
                            var detail = new CartonDetail()
                            {
                                Carton    = carton,
                                Equipment = equipment
                            };
                            carton.CartonDetails.Add(detail);
                            db.SaveChanges();
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            //cart already contains 10 items, cannot add more equipments
                            addEquipmentViewModel.Error = "cart already contains 10 items, cannot add more equipments";
                            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, addEquipmentViewModel.Error }));
                        }
                    }
                    else
                    {
                        addEquipmentViewModel.Error = "Equipment already exist in the cart";
                        return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, addEquipmentViewModel.Error }));
                        //Equipment already exist in the cart
                    }

                    return(HttpNotFound());
                }
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
Exemplo n.º 8
0
 public ActionResult AddEquipment(AddEquipmentViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         var icon = GetIcon();
         if (icon != null)
         {
             var command = new AddEquipmentCommand
             {
                 File        = icon,
                 Name        = viewModel.Name,
                 Code        = viewModel.Code,
                 Status      = viewModel.Status,
                 Description = viewModel.Description,
                 UserName    = User.Identity.GetUserName()
             };
             try
             {
                 mediator.Send(command);
                 return(RedirectToAction("Index", "Equipment"));
             }
             catch (Exception ex)
             {
                 ex.Message.Contains("add is not success");
                 return(View());
             }
         }
         else
         {
             var command = new AddEquipmentCommand
             {
                 Name        = viewModel.Name,
                 Code        = viewModel.Code,
                 Status      = viewModel.Status,
                 Description = viewModel.Description,
                 UserName    = User.Identity.GetUserName()
             };
             try
             {
                 mediator.Send(command);
                 return(RedirectToAction("Index", "Equipment"));
             }
             catch
             {
                 return(View("Error"));
             }
         }
     }
     return(View());
 }
Exemplo n.º 9
0
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton == null)
                {
                    return(HttpNotFound());
                }

                if (carton.CartonDetails.Count() >= 10) // DM: hardcoded 10, would make more sense to put this in the DB as a config option of the carton, but trying to keep this to the 1 hour mark.
                                                        // You could then use that in the config value to set the MaxCurrentEquipmentCount I added in the CartonDetailsViewModel.
                {
                    TempData["Message"] = "Your equipment was not added because the carton already has the maximum amount of items.";
                    return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
                }

                var equipment = db.Equipments
                                .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                .SingleOrDefault();
                if (equipment == null)
                {
                    return(HttpNotFound());
                }

                var assignedEquipement = db.CartonDetails
                                         .Where(cd => cd.EquipmentId == addEquipmentViewModel.EquipmentId)
                                         .SingleOrDefault();
                if (assignedEquipement != null)
                {
                    TempData["Message"] = "Your equipment has already been added to another carton.";
                    return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
                }

                var detail = new CartonDetail()
                {
                    Carton    = carton,
                    Equipment = equipment
                };

                carton.CartonDetails.Add(detail);
                db.SaveChanges();
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
Exemplo n.º 10
0
        //Build Equipment object and add to database
        public IActionResult Add(AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                Equipment newEquipment = new Equipment
                {
                    Name  = addEquipmentViewModel.Name,
                    Price = addEquipmentViewModel.Price
                };

                context.Add(newEquipment);
                context.SaveChanges();
                return(Redirect("/Equipment/ViewEquipment/" + newEquipment.ID));
            }
            return(View(addEquipmentViewModel));
        }
Exemplo n.º 11
0
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton == null)
                {
                    return(HttpNotFound());
                }
                //AM: TODO BUG3 = DONT ALLOW USER TO ADD MORE THAN 10 Equipment to a carton - DONE
                //Check if carton is at capacity
                if (carton.CartonDetails.Count == 10)
                {
                    return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, valMsg = ErrMsgcd1 }));
                }

                var ExistingEquipment = db.CartonDetails
                                        .Where(cd => cd.EquipmentId == addEquipmentViewModel.EquipmentId)
                                        .SingleOrDefault();

                //AM: TODO BUG2 =  Equipment already part of any other Carton  - DONE
                if (ExistingEquipment != null)
                {
                    return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, valMsg = ErrMsgcd2 }));
                }

                var equipment = db.Equipments
                                .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                .SingleOrDefault();
                if (equipment == null)
                {
                    return(HttpNotFound());
                }
                var detail = new CartonDetail()
                {
                    Carton    = carton,
                    Equipment = equipment
                };
                carton.CartonDetails.Add(detail);
                db.SaveChanges();
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
Exemplo n.º 12
0
        /*
         *  2 - Our customers has reported the following bugs:
         *      3. Our cartons can physically hold up to 10 pieces of equipment, but the application allows us to
         *      put an unlimited number of equipment on the carton, please only allow up to 10 pieces of
         *      equipment on the carton.
         *
         */
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton == null)
                {
                    return(HttpNotFound());
                }
                var equipment = db.Equipments
                                .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                .SingleOrDefault();
                if (equipment == null)
                {
                    return(HttpNotFound());
                }
                var detail = new CartonDetail()
                {
                    Carton    = carton,
                    Equipment = equipment
                };

                //KF: solution to issue 2.2
                //check first if this equipment is already added
                if (db.CartonDetails.Where(e => e.EquipmentId == equipment.Id).Count() == 0)
                {
                    //check the carton detail count - must be lesser than 10
                    if (carton.CartonDetails.Count < _CartonLimit)
                    {
                        carton.CartonDetails.Add(detail);
                        db.SaveChanges();
                    }
                }
                else
                {
                    //notify the user that the equipment is already assigned
                    TempData["Error"] = equipment.SerialNumber + " is already in use.";
                }
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton == null)
                {
                    return(HttpNotFound());
                }
                var equipment = db.Equipments
                                .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                .SingleOrDefault();
                if (equipment == null)
                {
                    return(HttpNotFound());
                }
                var detail = new CartonDetail()
                {
                    Carton    = carton,
                    Equipment = equipment
                };

                //Customer Requirement 3 : A cartonm will be limited to only 10 items, by using the below line of code.

                if (((System.Collections.Generic.HashSet <CandidateProject.EntityModels.CartonDetail>)carton.CartonDetails).Count < 10)
                {
                    carton.CartonDetails.Add(detail);
                    db.SaveChanges();
                }
                else
                {
                    ViewBag.Message = "Sorry,Carton exceed 10 equipments";
                }
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
Exemplo n.º 14
0
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            if (ModelState.IsValid)
            {
                var carton = db.Cartons
                             .Include(c => c.CartonDetails)
                             .Where(c => c.Id == addEquipmentViewModel.CartonId)
                             .SingleOrDefault();
                if (carton == null)
                {
                    return(HttpNotFound());
                }
                var equipment = db.Equipments
                                .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                .SingleOrDefault();
                if (equipment == null)
                {
                    return(HttpNotFound());
                }

                if (carton.CartonDetails.Count() >= 10)
                {
                    TempData["notice"] = "Carton is full, please only allow up to 10 pieces of equipment on the carton";
                    return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
                }

                var detail = new CartonDetail()
                {
                    Carton    = carton,
                    Equipment = equipment
                };
                carton.CartonDetails.Add(detail);
                db.SaveChanges();
            }
            return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId }));
        }
Exemplo n.º 15
0
        public ActionResult AddEquipment()
        {
            var addEquipment = new AddEquipmentViewModel();

            return(View(addEquipment));
        }
Exemplo n.º 16
0
        public ActionResult AddEquipmentToCarton([Bind(Include = "CartonId,EquipmentId")] AddEquipmentViewModel addEquipmentViewModel)
        {
            try
            {
                string dialogText = string.Empty;

                //Bug #3: in case max carton volume changes, max count is a key in the web.config
                int maxItemCount = 0;
                //if the key is missing default to 10
                if (!int.TryParse(ConfigurationManager.AppSettings["MaxItemsPerCarton"].ToString(), out maxItemCount))
                {
                    maxItemCount = 10;
                }

                //Bug #2: currently a piece of equipment can only be in one carton, there is a key to toggle that option in web.config
                bool multipleCartons = false;
                //if key is missing or an invalid type default is false
                if (!bool.TryParse(ConfigurationManager.AppSettings["AllowItemInMultipleCartons"].ToString(), out multipleCartons))
                {
                    multipleCartons = false;
                }

                if (ModelState.IsValid)
                {
                    var carton = db.Cartons
                                 .Include(c => c.CartonDetails)
                                 .Where(c => c.Id == addEquipmentViewModel.CartonId)
                                 .SingleOrDefault();
                    if (carton == null)
                    {
                        return(RedirectToAction("NotFound", "Error"));
                    }

                    //Bug #2: check all cartons to see if this equipment has already been added to another one
                    var currentEquipment = db.CartonDetails
                                           .Where(c => c.EquipmentId == addEquipmentViewModel.EquipmentId)
                                           .SingleOrDefault();

                    if (currentEquipment != null && !multipleCartons)
                    {
                        dialogText = "This item has already been added to another carton.";
                        return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, serialNumber = string.Empty, errorMessage = dialogText }));
                    }

                    //Bug #3: make sure there aren't more than 10 (value stored in maxItemCount) items in this carton already
                    var cartonDetails = db.CartonDetails.Where(e => e.CartonId == addEquipmentViewModel.CartonId).ToList();

                    if (cartonDetails == null || cartonDetails.Count < maxItemCount)
                    {
                        var equipment = db.Equipments
                                        .Include("ModelType")
                                        .Where(e => e.Id == addEquipmentViewModel.EquipmentId)
                                        .SingleOrDefault();
                        if (equipment == null)
                        {
                            return(RedirectToAction("NotFound", "Error"));
                        }
                        var detail = new CartonDetail()
                        {
                            Carton    = carton,
                            Equipment = equipment
                        };
                        carton.CartonDetails.Add(detail);
                        db.SaveChanges();
                        return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, equipmentDetail = string.Format("{0} {1}", equipment.ModelType.TypeName, equipment.SerialNumber) }));
                    }
                    else
                    {
                        dialogText = string.Format("This carton is full and contains {0} items. Please select another carton.", maxItemCount.ToString());
                    }
                }
                // will only make it here if the carton is full, outside of main if so all paths return an action
                return(RedirectToAction("AddEquipment", new { id = addEquipmentViewModel.CartonId, serialNumber = string.Empty, errorMessage = dialogText }));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message);
                throw ex;
            }
        }
Exemplo n.º 17
0
        // Declares a new ViewModel for adding equipment and passes it into view.
        public IActionResult Add()
        {
            AddEquipmentViewModel addEquipmentViewModel = new AddEquipmentViewModel();

            return(View(addEquipmentViewModel));
        }
Exemplo n.º 18
0
 public AddEquipmentWindow(AddEquipmentViewModel _vm)
 {
     vm = _vm;
     InitializeComponent();
     this.DataContext = vm;
 }