public static Response SaveChanges(BnBContext db) { try { db.SaveChanges(); return(new Response { Succeeded = true }); } catch (Exception ex) { var response = new Response { Succeeded = false }; if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.Contains("_Index")) { response.Message = "There is a record with the same value"; } else if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.Contains("REFERENCE")) { response.Message = "There record can't be deleted because it has related records"; } else { response.Message = ex.Message; } return(response); } }
public static List <BusinessHomeIndexViewModel> GetBusinessHomeIndex(BnBContext db, string userEmail) { User user = db.Users.Where(u => u.UserName == userEmail).FirstOrDefault(); int userId = user == null ? 0 : user.UserId; var allBusinesses = db.Businesses.Where(b => b.IsDisabled == false).ToList(); var userFavoriteBusinesses = db.UserFavoriteBusinesses.Where(ufb => ufb.UserId == userId).ToList(); var businessHomeIndex = (from bus in allBusinesses join ufb in userFavoriteBusinesses on bus.BusinessId equals ufb.BusinessId into groupjoin from joined in groupjoin.DefaultIfEmpty() select new BusinessHomeIndexViewModel { BusinessId = bus.BusinessId, Name = bus.Name, Slogan = bus.Slogan, BusinessUserId = bus.UserId, AddressId = bus.AddressId, Phone = bus.Phone, Banner = bus.Banner, Latitude = bus.Latitude, Longitude = bus.Longitude, IsDisabled = bus.IsDisabled, AddressInfoHidden = bus.AddressInfoHidden, UserFavoriteBusinessId = joined == null ? 0 : joined.UserFavoriteBusinessId, CustomerUserId = userId, IsFavorite = joined == null ? false : joined.IsFavorite }).ToList(); return(businessHomeIndex); }
public ActionResult Edit([Bind(Include = "UserId,UserName,Nickname,FirstName,LastName,Phone,Picture,PictureFile")] User user) { if (string.IsNullOrEmpty(user.FirstName) || user.FirstName.Trim() == string.Empty) { ModelState.AddModelError("FirstName", "This field is required"); } if (string.IsNullOrEmpty(user.LastName) || user.LastName.Trim() == string.Empty) { ModelState.AddModelError("LastName", "This field is required"); } if (string.IsNullOrEmpty(user.Phone) || user.Phone.Trim() == string.Empty) { ModelState.AddModelError("Phone", "This field is required"); } if (ModelState.IsValid) { BnBContext db2 = new BnBContext(); User currentUser = db2.Users.Find(user.UserId); if (currentUser.UserName != user.UserName) { UsersHelper.UpdateUserName(currentUser.UserName, user.UserName); } if ((currentUser.FirstName != user.FirstName) || (currentUser.LastName != user.LastName) || (currentUser.Nickname != user.Nickname) || (currentUser.UserName != user.UserName)) { Customer customer = db.Customers .Where(c => c.UserId == user.UserId && c.IsAccountOwner == true) .FirstOrDefault(); customer.CustomerName = user.Name; db.Entry(customer).State = EntityState.Modified; } db2.Dispose(); if (user.PictureFile != null) { var folder = "~/Content/Pictures"; string pic = string.Format("{0}{1}", user.UserId, Path.GetExtension(user.PictureFile.FileName)); bool uploadResponse = FilesHelper.UploadImage(user.PictureFile, folder, pic); if (uploadResponse) { user.Picture = string.Format("{0}/{1}", folder, pic); } } db.Entry(user).State = EntityState.Modified; Response response = DBHelper.SaveChanges(db); if (response.Succeeded) { return(RedirectToAction("Details", new { id = user.UserId })); } ModelState.AddModelError(string.Empty, response.Message); } return(View(user)); }