예제 #1
0
        /// <summary>
        /// Returns a User, or null, chosen through the store name.
        /// </summary>
        /// <param name="db">The DBModelContainer to be used to retrieve the user.</param>
        /// <param name="storeName">The name of the store.</param>
        /// <returns>A DigistoreWithMVC.Models.User or null </returns>
        internal static User GetUserByStorename(DigiStoreDBModelContainer db, string storeName)
        {
            int  storeId   = (from s in db.Stores where s.Name.ToLower() == storeName.ToLower() select s.Id).FirstOrDefault();
            User checkUser = (from u in db.Users where u.Store.Id == storeId select u).FirstOrDefault();

            return(checkUser);
        }
예제 #2
0
 public ActionResult Contact(HomeViewModels model)
 {
     if (ModelState.IsValid)
     {
         using (DigiStoreDBModelContainer db = new DigiStoreDBModelContainer())
         {
             //messing with this for the time being
             Review newReview = db.Reviews.Create();
             newReview.Id = db.Reviews.Count();
             if (model.ReviewText != null)
             {
                 newReview.ReviewText = model.ReviewText;
             }
             newReview.Rating       = 0;
             newReview.Date         = DateTime.Now;
             newReview.ReviewerName = "*****@*****.**";
             db.Reviews.Add(newReview);
             db.SaveChanges();
             ViewBag.Message = "Review Submitted! Thanks!";
             return(View());
         }
     }
     else
     {
         return(View(model));
     }
 }
예제 #3
0
        internal static User GetUserByEmail(DigiStoreDBModelContainer db, string email)
        {
            User currentUser = (from u in db.Users
                                where u.Email.ToLower() == email.ToLower()
                                select u).FirstOrDefault();

            return(currentUser);
        }
예제 #4
0
        /// <summary>
        /// Returns the currently logged in User, or null.
        /// </summary>
        /// <param name="db">The DBModelContainer to be used to retrieve the user.</param>
        /// <returns>A DigistoreWithMVC.Models.User or null </returns>
        internal static User GetCurrentUser(DigiStoreDBModelContainer db)
        {
            User currentUser = (from u in db.Users
                                where u.Email.ToLower() == HttpContext.Current.User.Identity.Name.ToLower()
                                select u).FirstOrDefault();

            return(currentUser);
        }
예제 #5
0
        internal static List <Store> GetStores(DigiStoreDBModelContainer db)
        {
            List <Store> allStores = (from stores in db.Stores
                                      where stores.StorePicture != null
                                      select stores).ToList();

            return(allStores);
        }
예제 #6
0
        internal static void CreateUserPaymentMethodIfNotExisting(DigiStoreDBModelContainer db, User user)
        {
            User currentUser = ModelHelpers.GetCurrentUser(db);

            if (currentUser != null)
            {
                PaymentMethod payment = currentUser.PaymentMethods.FirstOrDefault();
                if (payment == null)
                {
                    payment = new PaymentMethod();
                    payment.AccountNumber = "";
                    payment.PaymentType   = "";
                    currentUser.PaymentMethods.Add(payment);
                }
                db.SaveChanges();
            }
        }
예제 #7
0
        internal static void CreateUserStoreIfNotExisting(DigiStoreDBModelContainer db, User user)
        {
            string[] DAYS_OF_THE_WEEK = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
            // If the user is not null, we continue
            if (user != null)
            {
                // If the user's store does not exist, we create it.
                if (user.Store == null)
                {
                    user.Store              = new Store();
                    user.Store.Address      = "";
                    user.Store.City         = "";
                    user.Store.Country      = "";
                    user.Store.Name         = user.UserName;
                    user.Store.PostalCode   = "";
                    user.Store.PhoneNumber  = "";
                    user.Store.StateProv    = "";
                    user.Store.StorePicture = "";
                }

                // If the user's store doesn't have hours, we add them now.
                // This is seperate for existing stores that don't have hours as of yet to receive store hours.
                if (user.Store.StoreHours.Count == 0)
                {
                    for (int i = user.Store.StoreHours.Count; i < 7; i++)
                    {
                        StoreHours storeHours = new StoreHours();
                        storeHours.StoreId      = user.Store.Id;
                        storeHours.DayOfTheWeek = DAYS_OF_THE_WEEK[i];
                        storeHours.StartTime    = new DateTime(2015, 1, 1, 1, 0, 0);
                        storeHours.EndTime      = new DateTime(2015, 1, 1, 1, 0, 0);
                        user.Store.StoreHours.Add(storeHours);
                    }
                }
                db.SaveChanges();
            }
        }
예제 #8
0
 public ActionResult SubmitReview(SubmitReviewViewModel model)
 {
     if (User.Identity.IsAuthenticated)
     {
         if (ModelState.IsValid)
         {
             using (DigiStoreDBModelContainer db = new DigiStoreDBModelContainer())
             {
                 User   storeOwner = ModelHelpers.GetUserByEmail(db, model.StoreOwnerEmail);
                 Review newReview  = db.Reviews.Create();
                 if (model.ReviewText != null)
                 {
                     newReview.ReviewText = model.ReviewText;
                 }
                 if (model.ReviewRating != 0)
                 {
                     newReview.Rating = model.ReviewRating;
                 }
                 newReview.Date = DateTime.Now;
                 User existingUser = ModelHelpers.GetCurrentUser(db);
                 newReview.ReviewerName = existingUser.UserName;
                 storeOwner.Reviews.Add(newReview);
                 db.SaveChanges();
                 return(PartialView("_ReviewSuccess"));
             }
         }
         else
         {
             ViewBag.ReviewError = "Please enter 1-5 for the rating, and a review.";
             return(PartialView("_SubmitReview", model));
         }
     }
     else
     {
         return(RedirectToAction("Login", "Account"));
     }
 }
예제 #9
0
        internal static Item GetItemById(DigiStoreDBModelContainer db, int id)
        {
            Item item = (from i in db.Items where i.Id == id select i).FirstOrDefault();

            return(item);
        }