Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }