Esempio n. 1
0
        public ActionResult ReportDamage(VehicleDamage vehicleDamage, IEnumerable <HttpPostedFileBase> image)
        {
            if (ModelState.IsValid)
            {
                foreach (var item in image)
                {
                    string error;
                    if (!FileHelper.CheckIfFileIsImage(item, out error))
                    {
                        ModelState.AddModelError("", error);
                        ViewBag.VehicleId           = new SelectList(DataFilter.GetVehicles(TempData.Peek("Id") + ""), "Id", "Name");
                        ViewBag.VehicleDamageTypeId = new SelectList(db.VehicleDamageTypes, "Id", "Description");
                        return(View(vehicleDamage));
                    }
                }

                vehicleDamage.Id = Guid.NewGuid();

                string basePath = Server.MapPath(Constants.VEHICLE_DAMAGE_UPLOAD_BASE_PATH + vehicleDamage.Id + "/");
                FileHelper.SaveFiles(image, basePath);

                db.Damages.Add(vehicleDamage);
                db.SaveChanges();

                VehicleDamageStatus status = new VehicleDamageStatus
                {
                    DateOfArrival   = DateTime.Now,
                    Id              = Guid.NewGuid(),
                    VehicleDamageId = vehicleDamage.Id,
                    Official        = ChainOfCommandHelper.GetHigherOfficial()
                };
                status.CaseId = vehicleDamage.Id;
                db.DamageStatuses.Add(status);
                db.SaveChanges();

                return(RedirectToAction("ViewOpenTickets"));
            }

            ViewBag.VehicleId           = new SelectList(DataFilter.GetVehicles(TempData.Peek("Id") + ""), "Id", "Name");
            ViewBag.VehicleDamageTypeId = new SelectList(db.VehicleDamageTypes, "Id", "Description");
            return(View(vehicleDamage));
        }
Esempio n. 2
0
        public ActionResult ActOnDamage(VehicleDamageStatus status)
        {
            if (ModelState.IsValid)
            {
                if (status.Action == DamageAction.Open)
                {
                    ModelState.AddModelError("Action", "Action can not be open");
                    return(View(status));
                }

                status.DateOfLeaving   = DateTime.Now;
                db.Entry(status).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                if (status.Action == DamageAction.Elevate)
                {
                    VehicleDamageStatus newStatus = new VehicleDamageStatus
                    {
                        Id              = Guid.NewGuid(),
                        CaseId          = status.CaseId,
                        DateOfArrival   = DateTime.Now,
                        Official        = ChainOfCommandHelper.GetHigherOfficial(),
                        VehicleDamageId = status.VehicleDamageId
                    };
                    db.VehicleDamagesStatus.Add(newStatus);
                    db.SaveChanges();
                }
                else if (status.Action == DamageAction.Disapprove)
                {
                    VehicleDamageStatus newStatus = db.VehicleDamagesStatus.Where(x => x.CaseId == status.CaseId).OrderByDescending(x => x.DateOfArrival).First();
                    newStatus.Action          = DamageAction.Disapprove;
                    db.Entry(newStatus).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }

                return(RedirectToAction("ViewOpenVehicleDamages"));
            }

            return(View(status));
        }
Esempio n. 3
0
        public ActionResult ViewOpenVehicleDamages()
        {
            Official currentOfficial = ChainOfCommandHelper.GetCurrentOfficial();

            return(View(db.DamageStatuses.Where(x => x.Official == currentOfficial && x.DateOfLeaving == null).ToList()));
        }