public ActionResult Update(Service x) { if (ModelState.IsValid) { Service xdb = db.Service.Include("ServiceToInfo").Include(w => w.ServiceBenefits).FirstOrDefault(w => w.Id == x.Id); xdb.Content = x.Content; xdb.Title = x.Title; xdb.Description = x.Description; xdb.ModifiedDate = DateTime.Now; xdb.AdminModifiedId = (int)Session["AdminId"]; if (x.ServiceImageFirstFile != null) { string imageName = DateTime.Now.ToString("ssfff") + Regex.Replace(x.ServiceImageFirstFile.FileName, "[^A-Za-z0-9.]", ""); string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); string oldImagePath = Path.Combine(Server.MapPath("~/Uploads/"), xdb.ServiceImageFirst); System.IO.File.Delete(oldImagePath); x.ServiceImageFirstFile.SaveAs(imagePath); xdb.ServiceImageFirst = imageName; } if (x.ServiceImageSecondFile != null) { string imageName = DateTime.Now.ToString("ssfff") + Regex.Replace(x.ServiceImageSecondFile.FileName, "[^A-Za-z0-9.]", ""); string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); string oldImagePath = Path.Combine(Server.MapPath("~/Uploads/"), xdb.ServiceImageSecond); System.IO.File.Delete(oldImagePath); x.ServiceImageSecondFile.SaveAs(imagePath); xdb.ServiceImageSecond = imageName; } if (x.ServiceIconFile != null) { string imageName = DateTime.Now.ToString("ssfff") + Regex.Replace(x.ServiceIconFile.FileName, "[^A-Za-z0-9.]", ""); string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); string oldImagePath = Path.Combine(Server.MapPath("~/Uploads/"), xdb.ServiceIcon); System.IO.File.Delete(oldImagePath); x.ServiceIconFile.SaveAs(imagePath); xdb.ServiceIcon = imageName; } db.Entry(xdb).State = EntityState.Modified; db.SaveChanges(); using (DBContext db = new DBContext()) { foreach (var item in db.ServiceToInfo.Where(c => c.ServiceId == xdb.Id)) { db.ServiceToInfo.Remove(item); } db.SaveChanges(); } if (x.ServiceInfoId != null) { foreach (var item in x.ServiceInfoId) { ServiceToInfo w = new ServiceToInfo(); w.ServiceId = xdb.Id; w.ServiceInfoId = item; db.ServiceToInfo.Add(w); db.SaveChanges(); } } using (DBContext db = new DBContext()) { foreach (var item in db.ServiceBenefits.Where(c => c.ServiceId == xdb.Id)) { db.ServiceBenefits.Remove(item); } db.SaveChanges(); } if (x.Benefits != null) { foreach (var item in x.Benefits) { ServiceBenefit w = new ServiceBenefit(); w.Content = item; w.ServiceId = xdb.Id; db.ServiceBenefits.Add(w); db.SaveChanges(); } } int AdminId = (int)Session["AdminId"]; string ConnectionId = db.Admin.FirstOrDefault(c => c.Id == AdminId).ConnectionId; GlobalHost.ConnectionManager.GetHubContext <NotifyHub>().Clients.AllExcept(ConnectionId).modelUpdate(((Models.Admin)Session["Admin"]).FullName, DateTime.Now.ToString("HH:mm"), xdb.Title, "Service"); TempData["Update"] = "Update"; return(RedirectToAction("Index", "Service")); } TempData["Update-Error"] = "Update-Error"; Service xdb2 = db.Service.Include("ServiceToInfo").Include(w => w.ServiceBenefits).FirstOrDefault(w => w.Id == x.Id); ViewBag.Benefits = db.ServiceBenefits.Where(c => c.ServiceId == xdb2.Id).ToList(); ViewBag.ServicePage = true; ViewBag.Infos = db.ServiceInfo.ToList(); return(View(x)); }
public ActionResult Create(Service x) { int AdminId = (int)Session["AdminId"]; if (ModelState.IsValid) { Service xdb = new Service(); xdb.Content = x.Content; xdb.Title = x.Title; xdb.AdminId = x.AdminId; xdb.PostDate = DateTime.Now; xdb.Description = x.Description; if (db.AdminSettings.FirstOrDefault(c => c.AdminId == AdminId).alwaysActive) { xdb.isActive = true; } else { xdb.isActive = false; } if (x.ServiceImageFirstFile == null) { xdb.ServiceImageFirst = "Default2"; } else { string imageName = DateTime.Now.ToString("ddMMyyyyHHmmssfff") + Regex.Replace(x.ServiceImageFirstFile.FileName, "[^A-Za-z0-9.]", ""); string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); x.ServiceImageFirstFile.SaveAs(imagePath); xdb.ServiceImageFirst = imageName; } if (x.ServiceImageSecondFile == null) { xdb.ServiceImageSecond = "Default2"; } else { string imageName = DateTime.Now.ToString("ddMMyyyyHHmmssfff") + Regex.Replace(x.ServiceImageSecondFile.FileName, "[^A-Za-z0-9.]", ""); string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); x.ServiceImageSecondFile.SaveAs(imagePath); xdb.ServiceImageSecond = imageName; } if (x.ServiceIconFile == null) { xdb.ServiceIcon = "Default2"; } else { string imageName = DateTime.Now.ToString("ddMMyyyyHHmmssfff") + Regex.Replace(x.ServiceIconFile.FileName, "[^A-Za-z0-9.]", ""); string imagePath = Path.Combine(Server.MapPath("~/Uploads/"), imageName); x.ServiceIconFile.SaveAs(imagePath); xdb.ServiceIcon = imageName; } db.Service.Add(xdb); db.SaveChanges(); if (x.Benefits != null) { foreach (var item in x.Benefits) { ServiceBenefit w = new ServiceBenefit(); w.Content = item; w.ServiceId = xdb.Id; db.ServiceBenefits.Add(w); } } db.SaveChanges(); if (db.ServiceInfo.FirstOrDefault() != null && x.ServiceInfoId != null) { foreach (var item in x.ServiceInfoId) { ServiceToInfo w = new ServiceToInfo(); w.ServiceId = xdb.Id; w.ServiceInfoId = item; db.ServiceToInfo.Add(w); } } db.SaveChanges(); string ConnectionId = db.Admin.FirstOrDefault(c => c.Id == AdminId).ConnectionId; GlobalHost.ConnectionManager.GetHubContext <NotifyHub>().Clients.AllExcept(ConnectionId).modelCreate(((Models.Admin)Session["Admin"]).FullName, DateTime.Now.ToString("HH:mm"), xdb.Title, "Service"); TempData["Create"] = "Create"; return(RedirectToAction("Index", "Service")); } ViewBag.ServicePage = true; ViewBag.Admin = (int)Session["AdminId"]; TempData["Create-Error"] = "Create-Error"; ViewBag.Infos = db.ServiceInfo.ToList(); return(View(x)); }