// GET: ComplitedRepairReports/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ComplitedRepairReport complitedRepairReport = db.ComplitedRepairReports.Find(id);

            if (complitedRepairReport == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MachineObjectId    = new SelectList(db.MachineObjects, "Id", "Name", complitedRepairReport.MachineObjectId);
            ViewBag.MaintenaceActionId = new SelectList(db.MaintenaceActions, "Id", "Caption", complitedRepairReport.MaintenaceActionId);
            ViewBag.TypeOfFaultId      = new SelectList(db.TypeOfFaults, "Id", "Name", complitedRepairReport.TypeOfFaultId);

            if (User.Identity.Name == "")
            {
                throw new Exception("Access not denid");
            }
            if (db.StaffPersons.Where(p => p.UserName == User.Identity.Name).First().AccessType != "Administrator" &&
                ((complitedRepairReport.CreateUserName != User.Identity.Name)))
            {
                throw new Exception("Access not denid");
            }

            return(View(complitedRepairReport));
        }
        public ActionResult Create([Bind(Include = "Id,MachineObjectId,TypeOfFaultId,MaintenaceActionId,DateTimeStart,DateTimeEnd,ReportText,IsCompleted")] ComplitedRepairReport complitedRepairReport)
        {
            if (User.Identity.Name == "")
            {
                throw new Exception("Access not denid");
            }

            complitedRepairReport.CreateUserName     =
                complitedRepairReport.ModifyUserName = User.Identity.Name;

            complitedRepairReport.CreateDate     =
                complitedRepairReport.ModifyDate = DateTime.UtcNow;

            if (ModelState.IsValid)
            {
                db.ComplitedRepairReports.Add(complitedRepairReport);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.MachineObjectId    = new SelectList(db.MachineObjects, "Id", "Name", complitedRepairReport.MachineObjectId);
            ViewBag.MaintenaceActionId = new SelectList(db.MaintenaceActions, "Id", "Caption", complitedRepairReport.MaintenaceActionId);
            ViewBag.TypeOfFaultId      = new SelectList(db.TypeOfFaults, "Id", "Name", complitedRepairReport.TypeOfFaultId);
            return(View(complitedRepairReport));
        }
        // GET: ComplitedRepairReports/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ComplitedRepairReport complitedRepairReport = db.ComplitedRepairReports.Find(id);

            if (complitedRepairReport == null)
            {
                return(HttpNotFound());
            }

            if (User.Identity.Name == "")
            {
                throw new Exception("Access not denid");
            }
            if (db.StaffPersons.Where(p => p.UserName == User.Identity.Name).First().AccessType != "Administrator" &&
                ((complitedRepairReport.CreateUserName != User.Identity.Name)))
            {
                throw new Exception("Access not denid");
            }

            return(View(complitedRepairReport));
        }
        public ActionResult Edit([Bind(Include = "Id,MachineObjectId,TypeOfFaultId,MaintenaceActionId,DateTimeStart,DateTimeEnd,ReportText,IsCompleted,CreateUserName,CreateDate")] ComplitedRepairReport complitedRepairReport)
        {
            if (User.Identity.Name == "")
            {
                throw new Exception("Access not denid");
            }
            if (db.StaffPersons.Where(p => p.UserName == User.Identity.Name).First().AccessType != "Administrator" &&
                ((complitedRepairReport.CreateUserName != User.Identity.Name)))
            {
                throw new Exception("Access not denid");
            }
            complitedRepairReport.ModifyUserName = User.Identity.Name;
            complitedRepairReport.ModifyDate     = DateTime.UtcNow;

            if (ModelState.IsValid)
            {
                db.Entry(complitedRepairReport).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.MachineObjectId    = new SelectList(db.MachineObjects, "Id", "Name", complitedRepairReport.MachineObjectId);
            ViewBag.MaintenaceActionId = new SelectList(db.MaintenaceActions, "Id", "Caption", complitedRepairReport.MaintenaceActionId);
            ViewBag.TypeOfFaultId      = new SelectList(db.TypeOfFaults, "Id", "Name", complitedRepairReport.TypeOfFaultId);
            return(View(complitedRepairReport));
        }
        // GET: ComplitedRepairReports/Create
        public ActionResult Create()
        {
            if (User.Identity.Name == "")
            {
                throw new Exception("Access not denid");
            }
            ViewBag.MachineObjectId    = new SelectList(db.MachineObjects, "Id", "Name");
            ViewBag.MaintenaceActionId = new SelectList(db.MaintenaceActions, "Id", "Caption");
            ViewBag.TypeOfFaultId      = new SelectList(db.TypeOfFaults, "Id", "Name");

            ComplitedRepairReport complitedRepairReport = new ComplitedRepairReport();

            complitedRepairReport.DateTimeStart   =
                complitedRepairReport.DateTimeEnd = new MDTime().GetCurrentTime();

            return(View(complitedRepairReport));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ComplitedRepairReport complitedRepairReport = db.ComplitedRepairReports.Find(id);

            if (User.Identity.Name == "")
            {
                throw new Exception("Access not denid");
            }
            if (db.StaffPersons.Where(p => p.UserName == User.Identity.Name).First().AccessType != "Administrator" &&
                ((complitedRepairReport.CreateUserName != User.Identity.Name)))
            {
                throw new Exception("Access not denid");
            }

            db.ComplitedRepairReports.Remove(complitedRepairReport);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }