// GET: AccidentM/Delete/5
 public ActionResult Delete(int?id, int?acid)
 {
     if (Session["OnlineUser"] != null)
     {
         if (Session["UserRole"].Equals("SUPERADMIN") || Session["UserRole"].Equals("ADMIN") || Session["UserRole"].Equals("SUBADMIN") || Session["UserRole"].Equals("OPRATOR"))
         {
             ViewBag.OnlineUser     = Session["UserName"].ToString();
             ViewBag.OnlineUserRole = Session["UserRole"].ToString();
             if (id == null)
             {
                 return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
             }
             tbl_AccidentM tbl_AccidentM = db.tbl_AccidentM.FirstOrDefault(x => x.AccidentId == acid && x.MaterialId == id);
             if (tbl_AccidentM == null)
             {
                 return(HttpNotFound());
             }
             return(View(tbl_AccidentM));
         }
         else
         {
             return(RedirectToAction("Accessdenied", "Home"));
         }
     }
     else
     {
         return(RedirectToAction("Login", "Account"));
     }
 }
 public ActionResult Edit([Bind(Include = "AccidentMid,AccidentId,MaterialId,tedad")] tbl_AccidentM tbl_AccidentM)
 {
     if (Session["OnlineUser"] != null)
     {
         if (Session["UserRole"].Equals("SUPERADMIN") || Session["UserRole"].Equals("ADMIN") || Session["UserRole"].Equals("SUBADMIN") || Session["UserRole"].Equals("OPRATOR"))
         {
             ViewBag.OnlineUser     = Session["UserName"].ToString();
             ViewBag.OnlineUserRole = Session["UserRole"].ToString();
             if (ModelState.IsValid)
             {
                 db.Entry(tbl_AccidentM).State = EntityState.Modified;
                 db.SaveChanges();
                 return(RedirectToAction("Edit", "Accident", new { id = tbl_AccidentM.AccidentId }));
             }
         }
         else
         {
             return(RedirectToAction("Accessdenied", "Home"));
         }
     }
     else
     {
         return(RedirectToAction("Login", "Account"));
     }
     ViewBag.AccidentId = new SelectList(db.tbl_Accident, "AccidentId", "AccidentEventLocation", tbl_AccidentM.AccidentId);
     ViewBag.MaterialId = new SelectList(db.tbl_Material, "MaterialId", "MaterialCode", tbl_AccidentM.MaterialId);
     return(View(tbl_AccidentM));
 }
 // GET: AccidentM/Delete/5
 public ActionResult Delete(int?id, int?acid)
 {
     try
     {
         if (Session["OnlineUser"] != null)
         {
             if (Session["UserRole"].Equals("SUPERADMIN") || Session["UserRole"].Equals("ADMIN") || Session["UserRole"].Equals("SUBADMIN") || Session["UserRole"].Equals("OPRATOR"))
             {
                 if (id == null)
                 {
                     return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                 }
                 tbl_AccidentM tbl_AccidentM = db.tbl_AccidentM.FirstOrDefault(x => x.AccidentId == acid && x.MaterialId == id);
                 if (tbl_AccidentM == null)
                 {
                     return(HttpNotFound());
                 }
                 return(View(tbl_AccidentM));
             }
             else
             {
                 return(RedirectToAction("Accessdenied", "Home"));
             }
         }
         else
         {
             return(RedirectToAction("Login", "Account"));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError(ex.Message, ex.InnerException.ToString());
         return(View());
     }
 }
 public ActionResult DeleteConfirmed(int id, int acid)
 {
     try
     {
         if (Session["OnlineUser"] != null)
         {
             if (Session["UserRole"].Equals("SUPERADMIN") || Session["UserRole"].Equals("ADMIN") || Session["UserRole"].Equals("SUBADMIN") || Session["UserRole"].Equals("OPRATOR"))
             {
                 ViewBag.OnlineUser     = Session["UserName"].ToString();
                 ViewBag.OnlineUserRole = Session["UserRole"].ToString();
                 tbl_AccidentM tbl_AccidentM = db.tbl_AccidentM.FirstOrDefault(x => x.AccidentId == acid && x.MaterialId == id);
                 db.tbl_AccidentM.Remove(tbl_AccidentM);
                 db.SaveChanges();
                 return(RedirectToAction("Edit", "Accident", new { id = tbl_AccidentM.AccidentId }));
             }
             else
             {
                 return(RedirectToAction("Accessdenied", "Home"));
             }
         }
         else
         {
             return(RedirectToAction("Login", "Account"));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError(ex.Message, ex.InnerException.ToString());
         return(View());
     }
 }
        public ActionResult Addmaterial(int[] MaterialId, int[] tedad, int Acid)
        {
            Random rand = new Random();

            if (Session["OnlineUser"] != null)
            {
                if (Session["UserRole"].Equals("SUPERADMIN") || Session["UserRole"].Equals("ADMIN") || Session["UserRole"].Equals("SUBADMIN"))
                {
                    ViewBag.OnlineUser     = Session["UserName"].ToString();
                    ViewBag.OnlineUserRole = Session["UserRole"].ToString();
                    ViewBag.material       = db.tbl_Material.ToList();
                    if (MaterialId != null)
                    {
                        for (int i = 0; i < MaterialId.Count(); i++)
                        {
                            tbl_AccidentM tbl_AccidentM = new tbl_AccidentM();
                            Random        rand1         = new Random();
                            int           random1       = 0;
                            random1 = rand.Next(11111111, 99999999);
                            while (db.tbl_AccidentM.FirstOrDefault(x => x.AccidentMid == random1) != null)
                            {
                                random1 = rand.Next(11111111, 99999999);
                            }
                            tbl_AccidentM.AccidentMid = random1;
                            tbl_AccidentM.AccidentId  = Acid;
                            tbl_AccidentM.MaterialId  = MaterialId[i];
                            tbl_AccidentM.tedad       = tedad[i];
                            db.tbl_AccidentM.Add(tbl_AccidentM);
                            db.SaveChanges();
                        }
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }

                else
                {
                    return(RedirectToAction("Accessdenied", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }
        public ActionResult Create([Bind(Include = "AccidentId,AccidentEventLocation,AccidentDescrption,AccidentTime,AccidentDate,AccidentReportUrl,AccidentWid,AccidentTypeId,AccidentZone,AccidentUserId,AccidentUsageId,AccidentTimeStartOperation,AccidentTimeEndOperation,AccidentTimeToClear,AccidentReporter,AccidentReportReciver,AccidentReportType,AccidentSiteFloors,AccidentBuildingType,AccidentBuildingOwner,AccidentBuildingTel,AccidentBuildingTenant,AccidentOtherType,AccidentPreliminaryMeasures,AccidentDescriptionOperation,AccidentDamageDescriptionO,AccidentDamageDescriptionL,AccidentReportProducer,AccidentOperationsCommander,DateAdd,AccidentOperationProblems,AccidentCause")] tbl_Accident tbl_Accident, HttpPostedFileBase[] pic, List <int> OperatingStation, List <int> Employee, List <int> Organisation, string[] InjuredName, string[] InjuredLastName, int[] InjuredSex, int[] InjuredType, int[] InjuredTypeinjury, string[] InjuredDescription, string[] InjuredLocation, int[] MaterialId, int[] tedad)
        {
            try
            {
                Random rand = new Random();
                int    te, dateint;
                if (ModelState.IsValid)
                {
                    if (Session["OnlineUser"] != null)
                    {
                        if (Session["UserRole"].Equals("SUPERADMIN") || Session["UserRole"].Equals("ADMIN") || Session["UserRole"].Equals("SUBADMIN"))
                        {
                            System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
                            dateint = Convert.ToInt32(pc.GetYear(DateTime.Now));
                            int accident = db.tbl_Accident.Where(x => x.AccidentId.ToString().Substring(0, 4).Equals(dateint.ToString())).Count();
                            te = Convert.ToInt32(string.Format("{0}{1}", dateint, accident + 1));
                            while (db.tbl_Accident.FirstOrDefault(f => f.AccidentId == te) != null)
                            {
                                te = Convert.ToInt32(string.Format("{0}{1}", dateint, accident + 1));
                            }
                            if (pic != null)
                            {
                                foreach (var item in pic)
                                {
                                    var Fi1 = Path.GetExtension(item.FileName);
                                    var Ri1 = Path.Combine(Server.MapPath("~/Documents/Doc/"), string.Format("{0}{1}", te.ToString(), Fi1));
                                    item.SaveAs(Ri1);
                                    tbl_Accident.AccidentReportUrl = string.Format("Documents/Doc/{0}{1}", te.ToString(), Fi1);
                                }
                            }
                            tbl_Accident.AccidentId     = te;
                            tbl_Accident.AccidentUserId = Convert.ToInt32(Session["OnlineUser"].ToString());
                            tbl_Accident.DateAdd        = DateTime.Now;
                            tbl_Accident.Isdelete       = false;
                            db.tbl_Accident.Add(tbl_Accident);
                            db.SaveChanges();
                            int rs, re, rf;
                            foreach (int item in OperatingStation)
                            {
                                tbl_AccidentStation oState = new tbl_AccidentStation();
                                rs = rand.Next(111111, 999999);
                                while (db.tbl_AccidentStation.FirstOrDefault(f => f.AccidentStationId == rs) != null)
                                {
                                    rs = rand.Next(111111, 999999);
                                }
                                oState.AccidentStationId = rs;
                                oState.StationId         = item;
                                oState.AccidentId        = te;
                                db.tbl_AccidentStation.Add(oState);
                                db.SaveChanges();
                            }
                            foreach (int item in Employee)
                            {
                                tbl_AccidentEmplyoee oEmployee = new tbl_AccidentEmplyoee();
                                re = rand.Next(111111, 999999);
                                while (db.tbl_AccidentEmplyoee.FirstOrDefault(f => f.AEId == re) != null)
                                {
                                    re = rand.Next(111111, 999999);
                                }
                                oEmployee.AEId       = re;
                                oEmployee.EmployeeId = item;
                                oEmployee.AccidentId = te;
                                db.tbl_AccidentEmplyoee.Add(oEmployee);
                                db.SaveChanges();
                            }
                            foreach (int item in Organisation)
                            {
                                tbl_AccidentO dll = new tbl_AccidentO();
                                rf = rand.Next(111111, 999999);
                                while (db.tbl_AccidentO.FirstOrDefault(f => f.AccidentOid == rf) != null)
                                {
                                    rf = rand.Next(111111, 999999);
                                }
                                dll.AccidentOid     = rf;
                                dll.OrganizationsId = item;
                                dll.AccidentId      = te;
                                db.tbl_AccidentO.Add(dll);
                                db.SaveChanges();
                            }

                            for (int i = 0; i < InjuredName.Count(); i++)
                            {
                                tbl_Injured tbl_Injured = new tbl_Injured();
                                Random      rand2       = new Random();
                                int         random      = 0;
                                random = rand.Next(11111111, 99999999);
                                while (db.tbl_Injured.FirstOrDefault(x => x.InjuredID == random) != null)
                                {
                                    random = rand.Next(11111111, 99999999);
                                }
                                tbl_Injured.InjuredID          = random;
                                tbl_Injured.InjuredName        = InjuredName[i];
                                tbl_Injured.InjuredLastName    = InjuredLastName[i];
                                tbl_Injured.InjuredDescription = InjuredDescription[i];
                                tbl_Injured.InjuredLocation    = InjuredLocation[i];
                                //sex
                                if (InjuredSex[i] == 1)
                                {
                                    tbl_Injured.InjuredSex = true;
                                }
                                else if (InjuredSex[i] == 0)
                                {
                                    tbl_Injured.InjuredSex = false;
                                }
                                //type
                                if (InjuredType[i] == 1)
                                {
                                    tbl_Injured.InjuredType = true;
                                }
                                else if (InjuredType[i] == 0)
                                {
                                    tbl_Injured.InjuredType = false;
                                }
                                //masdoumiat
                                if (InjuredTypeinjury[i] == 1)
                                {
                                    tbl_Injured.InjuredTypeinjury = true;
                                }
                                else if (InjuredTypeinjury[i] == 0)
                                {
                                    tbl_Injured.InjuredTypeinjury = false;
                                }
                                db.tbl_Injured.Add(tbl_Injured);
                                tbl_AccidentInjured tbl_AccidentInjured = new tbl_AccidentInjured();
                                Random rand1   = new Random();
                                int    random1 = 0;
                                random1 = rand.Next(11111111, 99999999);
                                while (db.tbl_AccidentInjured.FirstOrDefault(x => x.AccidentInjuredid == random1) != null)
                                {
                                    random1 = rand.Next(11111111, 99999999);
                                }
                                tbl_AccidentInjured.AccidentInjuredid = random1;
                                tbl_AccidentInjured.AccidentId        = te;
                                tbl_AccidentInjured.InjuredId         = random;
                                db.tbl_AccidentInjured.Add(tbl_AccidentInjured);
                                db.SaveChanges();
                            }
                            if (MaterialId != null)
                            {
                                for (int i = 0; i < MaterialId.Count(); i++)
                                {
                                    tbl_AccidentM tbl_AccidentM = new tbl_AccidentM();
                                    Random        rand1         = new Random();
                                    int           random1       = 0;
                                    random1 = rand.Next(11111111, 99999999);
                                    while (db.tbl_AccidentM.FirstOrDefault(x => x.AccidentMid == random1) != null)
                                    {
                                        random1 = rand.Next(11111111, 99999999);
                                    }
                                    tbl_AccidentM.AccidentMid = random1;
                                    tbl_AccidentM.AccidentId  = te;
                                    tbl_AccidentM.MaterialId  = MaterialId[i];
                                    tbl_AccidentM.tedad       = tedad[i];
                                    db.tbl_AccidentM.Add(tbl_AccidentM);
                                    db.SaveChanges();
                                }
                                return(RedirectToAction("Index"));
                            }
                            else
                            {
                                return(RedirectToAction("Index"));
                            }
                        }
                        else
                        {
                            return(RedirectToAction("Accessdenied", "Home"));
                        }
                    }
                    else
                    {
                        return(RedirectToAction("Login", "Account"));
                    }
                }
                return(View(tbl_Accident));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(ex.Message, ex.InnerException.ToString());
                return(View());
            }
        }