예제 #1
0
        public ActionResult CloseTicket(VehicleRepair repair, IEnumerable <HttpPostedFileBase> image)
        {
            if (ModelState.IsValid)
            {
                foreach (var item in image)
                {
                    string error;
                    if (!FileHelper.CheckIfFileIsImage(item, out error))
                    {
                        ModelState.AddModelError("", error);
                        return(View(repair));
                    }
                }

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

                VehicleDamageStatus status = db.VehicleDamagesStatus.Find(TempData.Peek("StatusId"));
                repair.Id = status.VehicleDamageId;
                db.VehicleRepairs.Add(repair);
                db.SaveChanges();

                status.Action          = DamageAction.Closed;
                db.Entry(status).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("ViewClosedTickets"));
            }

            return(View(repair));
        }
예제 #2
0
        public ActionResult CloseTicket(Guid id)
        {
            TempData["StatusId"] = id;
            VehicleDamageStatus status = db.VehicleDamagesStatus.Find(id);

            VehicleRepair reapir = new VehicleRepair
            {
                Id            = status.VehicleDamageId,
                VehicleDamage = status.VehicleDamage
            };

            return(View(reapir));
        }
예제 #3
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));
        }
예제 #4
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));
        }
예제 #5
0
        public ActionResult ViewClosedTicket(Guid id)
        {
            VehicleDamageStatus status = db.VehicleDamagesStatus.Find(id);

            return(View(status));
        }