Example #1
0
        public ActionResult AddPersonality(int Id, int?UserId, bool IsDelete = false)
        {
            if (UserId == null)
            {
                UserId = Int32.Parse(Session["UserId"].ToString());
            }
            int roleId = Int32.Parse(Session["RoleId"].ToString());

            using (SussexDBEntities db = new SussexDBEntities())
            {
                if (IsDelete)
                {
                    UserPersonality userPersonality = db.UserPersonalities.Where(w => w.UserId == UserId && w.PersonalityId == Id).FirstOrDefault();
                    db.UserPersonalities.Remove(userPersonality);
                    db.SaveChanges();
                }
                else
                {
                    UserPersonality personality = new UserPersonality();
                    personality.UserId        = (int)UserId;
                    personality.PersonalityId = Id;
                    db.UserPersonalities.Add(personality);
                    db.SaveChanges();
                }
            }
            if (roleId == RoleTypes.CUSTOMER_ID)
            {
                return(Redirect("/User/MyProfile"));
            }
            return(Redirect("/Admin/HobbiesAndPersonalities/" + UserId));
        }
        public static void UpdateMonthlySubscription(int UserId)
        {
            using (SussexDBEntities db = new SussexDBEntities())
            {
                int monthlyFee = 0;
                var user       = db.Users.Where(w => w.UserId == UserId).FirstOrDefault();

                if (user == null)
                {
                    return;
                }

                // Currency is in Euros
                if (user.UserType == UserTypes.LOCAL)
                {
                    monthlyFee = 12;
                }
                else
                {
                    monthlyFee = 5;
                }

                // check whether the subscription is exist
                var subscription = db.BillingHistories
                                   .Where(w => w.UserId == UserId && w.BillingHistoryAmount == monthlyFee)
                                   .OrderByDescending(o => o.BillingHistoryDate)
                                   .FirstOrDefault();

                DateTime nextPaymentDate;
                if (subscription != null)
                {
                    // if the next billing date is not met
                    if (subscription.BillingHistoryDate > DateTime.Now)
                    {
                        return;
                    }
                    // if payment is not recieved for last month
                    if (!subscription.BillingHistoryIsPayed && subscription.BillingHistoryDate.AddMonths(1) < DateTime.Now)
                    {
                        subscription.BillingHistoryIsOverdue = true;
                        db.SaveChanges();
                        SendOverdueEmail(user, subscription);
                    }

                    nextPaymentDate = subscription.BillingHistoryDate.AddMonths(1);

                    BillingHistory billing = new BillingHistory();
                    billing.BillingHistoryDate      = nextPaymentDate;
                    billing.BillingHistoryAmount    = monthlyFee;
                    billing.BillingHistoryIsPayed   = false;
                    billing.BillingHistoryIsOverdue = false;
                    billing.UserId = UserId;

                    db.BillingHistories.Add(billing);
                    db.SaveChanges();
                }
            }
        }
Example #3
0
        public ActionResult Edit(NewPaymentViewModel viewModel)
        {
            PaymentCard paymentCard = new PaymentCard();

            using (SussexDBEntities db = new SussexDBEntities())
            {
                if (viewModel.PaymentCardId != 0)
                {
                    paymentCard = db.PaymentCards.Where(w => w.PaymentCardId == viewModel.PaymentCardId).FirstOrDefault();
                }
                paymentCard.PaymentCardIsDefault    = true;
                paymentCard.PaymentCardHolderName   = viewModel.PaymentCardHolderName;
                paymentCard.PaymentCardNumber       = viewModel.PaymentCardNumber;
                paymentCard.PaymentCardExpireDate   = viewModel.PaymentCardExpireDate;
                paymentCard.PaymentCardSecurityCode = viewModel.PaymentCardSecurityCode;
                paymentCard.UserId = viewModel.UserId;

                if (viewModel.PaymentCardId == 0)
                {
                    db.PaymentCards.Add(paymentCard);
                }
                db.SaveChanges();
            }
            return(Redirect(viewModel.ReturnUrl));
        }
        public ActionResult ConfirmBooking(int UserId, int EventId, int By, bool IsPayed = true)
        {
            String message = "Booking Successfull";

            using (SussexDBEntities db = new SussexDBEntities())
            {
                UserEvent userEvent = db.UserEvents.Where(w => w.UserId == UserId && w.EventId == EventId).FirstOrDefault();
                if (userEvent != null)
                {
                    message = "User already has booking for this event";
                }
                else
                {
                    userEvent         = new UserEvent();
                    userEvent.UserId  = UserId;
                    userEvent.EventId = EventId;
                    userEvent.UserEventRegisteredDate = DateTime.Now;
                    userEvent.IsAccepted = false;
                    db.UserEvents.Add(userEvent);
                    db.SaveChanges();

                    PaymentHelper.AddEventPaymentForUser(UserId, EventId, IsPayed);
                }
            }
            return(Redirect("/Event/BookSuccessfullMessage/" + By + "?Message=" + message + "&EventId=" + EventId + "&UserId=" + UserId));
        }
        // new changes
        public static void StartMonthlySubscription(int UserId)
        {
            using (SussexDBEntities db = new SussexDBEntities())
            {
                var user = db.Users.Where(w => w.UserId == UserId).FirstOrDefault();
                // check whether the subscription is exist
                var subscription = db.BillingHistories.Where(w => w.UserId == UserId).FirstOrDefault();
                if (subscription != null || user == null)
                {
                    return;
                }

                BillingHistory billing = new BillingHistory();
                billing.BillingHistoryDate      = DateTime.Now.AddMonths(1);
                billing.BillingHistoryIsPayed   = false;
                billing.BillingHistoryIsOverdue = false;
                billing.UserId = UserId;

                // Currency is in Euros
                if (user.UserType == UserTypes.LOCAL)
                {
                    billing.BillingHistoryAmount = 12;
                }
                else
                {
                    billing.BillingHistoryAmount = 5;
                }
                db.BillingHistories.Add(billing);
                db.SaveChanges();
            }
        }
 public ActionResult AddMeetingToEvent(MeetingSchedule MeetingSchedule)
 {
     using (SussexDBEntities db = new SussexDBEntities())
     {
         db.MeetingSchedules.Add(MeetingSchedule);
         db.SaveChanges();
     }
     return(Redirect("/Event/Edit/" + MeetingSchedule.EventId));
 }
 public ActionResult Delete(int Id)
 {
     using (SussexDBEntities db = new SussexDBEntities())
     {
         Event eventToDelete = db.Events.Where(w => w.EventId == Id).FirstOrDefault();
         eventToDelete.EventIsDeleted = true;
         db.SaveChanges();
     }
     return(Redirect("/Event/"));
 }
 public ActionResult RemoveCategoryFromEvent(int EventId, int CategoryId)
 {
     using (SussexDBEntities db = new SussexDBEntities())
     {
         EventCategory eventCategory = db.EventCategories.Where(w => w.EventId == EventId && w.CategoryId == CategoryId).FirstOrDefault();
         db.EventCategories.Remove(eventCategory);
         db.SaveChanges();
     }
     return(Redirect("/Event/Edit/" + EventId));
 }
        public ActionResult AcceptBookingsByUsers(int Id)
        {
            SussexDBEntities db = new SussexDBEntities();
            UserEvent        e  = db.UserEvents.Where(w => w.UserEventId == Id).FirstOrDefault();

            if (e != null)
            {
                e.IsAccepted = true;
            }
            db.SaveChanges();
            return(Redirect("/Event/BookingsByUsers"));
        }
 public ActionResult AddCategoryToEvent(int EventId, int CategoryId)
 {
     using (SussexDBEntities db = new SussexDBEntities())
     {
         EventCategory eventCategory = new EventCategory();
         eventCategory.EventId    = EventId;
         eventCategory.CategoryId = CategoryId;
         db.EventCategories.Add(eventCategory);
         db.SaveChanges();
     }
     return(Redirect("/Event/Edit/" + EventId));
 }
Example #11
0
        public ActionResult AcceptRequest(int Id)
        {
            int userId = Int32.Parse(Session["UserId"].ToString());

            using (SussexDBEntities db = new SussexDBEntities())
            {
                UserMatch match = db.UserMatches
                                  .Where(w => w.UserMatchRequestUserId == Id &&
                                         w.UserMatchRecievedUserId == userId).FirstOrDefault();
                match.UserMatchIsAccepted = true;
                db.SaveChanges();
            }
            return(Redirect("/User/MyFriends"));
        }
Example #12
0
        public ActionResult ConfirmPayment(int Id)
        {
            int roleId               = Int32.Parse(Session["RoleId"].ToString());
            SussexDBEntities db      = new SussexDBEntities();
            BillingHistory   billing = db.BillingHistories.Where(w => w.BillingHistoryId == Id).FirstOrDefault();

            if (billing != null)
            {
                billing.BillingHistoryIsPayed = true;
                db.SaveChanges();
            }

            if (roleId == RoleTypes.CUSTOMER_ID)
            {
                return(Redirect("/User/Subscription"));
            }
            return(Redirect("/Payment/UserPayments"));
        }
Example #13
0
        public ActionResult AddFriend(int Id)
        {
            int userId = Int32.Parse(Session["UserId"].ToString());

            using (SussexDBEntities db = new SussexDBEntities())
            {
                UserMatch match = new UserMatch();
                match.UserMatchRequestUserId  = userId;
                match.UserMatchRecievedUserId = Id;
                match.UserMatchDate           = DateTime.Now;
                match.UserMatchIsAccepted     = false;
                match.UserMatchIsDeleted      = false;

                db.UserMatches.Add(match);
                db.SaveChanges();
            }
            return(Redirect("/User/MyFriends"));
        }
Example #14
0
        public static void AddEventPaymentForUser(int UserId, int EventId, bool IsPayed = true)
        {
            using (SussexDBEntities db = new SussexDBEntities())
            {
                var            user         = db.Users.Where(w => w.UserId == UserId).FirstOrDefault();
                var            eventDetails = db.Events.Where(w => w.EventId == EventId).FirstOrDefault();
                BillingHistory billing      = new BillingHistory();
                billing.BillingHistoryDate      = DateTime.Now.AddMonths(1);
                billing.BillingHistoryIsPayed   = IsPayed;
                billing.BillingHistoryIsOverdue = false;
                billing.BillingHistoryAmount    = eventDetails.EventFee;
                billing.UserId = UserId;

                db.BillingHistories.Add(billing);
                db.SaveChanges();
                SendEventRegistrationEmail(user, eventDetails, IsPayed);
            }
        }
 public ActionResult Edit(EventEditViewModel viewModel)
 {
     using (SussexDBEntities db = new SussexDBEntities())
     {
         if (viewModel.Event.EventId == 0)
         {
             db.Events.Add(viewModel.Event);
         }
         else
         {
             Event eventToEdit = db.Events.Where(w => w.EventId == viewModel.Event.EventId).FirstOrDefault();
             eventToEdit.EventDescription          = viewModel.Event.EventDescription;
             eventToEdit.EventTitle                = viewModel.Event.EventTitle;
             eventToEdit.EventFee                  = viewModel.Event.EventFee;
             eventToEdit.EventDate                 = viewModel.Event.EventDate;
             eventToEdit.EventContactNo            = viewModel.Event.EventContactNo;
             eventToEdit.EventEmail                = viewModel.Event.EventEmail;
             eventToEdit.EventRegistrationDeadline = viewModel.Event.EventRegistrationDeadline;
         }
         db.SaveChanges();
     }
     return(Redirect("/Event/Edit/" + viewModel.Event.EventId));
 }
Example #16
0
        //[CustomAuthorize("Admin", "Customer", "Receptionist", "Client Service Agent")]
        public ActionResult EditUser(UserEditViewModel viewModel)
        {
            int roleId = 0;

            if (Session["RoleId"] != null && Session["RoleId"].ToString() != "")
            {
                roleId = Int32.Parse(Session["RoleId"].ToString());
            }
            SussexDBEntities db   = new SussexDBEntities();
            User             user = null;

            if (viewModel.UserId != 0)
            {
                user = db.Users.Where(w => w.UserId == viewModel.UserId).FirstOrDefault();
            }
            // new user
            if (user == null)
            {
                user                 = new User();
                user.UserType        = viewModel.UserType;
                user.UserJoinedDate  = DateTime.Now;
                user.UserIsActivated = true;
                user.UserEmail       = viewModel.Email;
            }

            if (user.RoleId == roleId)
            {
                user.RoleId = roleId;
            }
            else
            {
                user.RoleId = RoleTypes.CUSTOMER_ID;
            }
            if (roleId == 0)
            {
                user.RoleId = RoleTypes.CUSTOMER_ID;
            }
            user.UserFirstName = viewModel.FirstName;
            user.UserLastName  = viewModel.LastName;
            user.UserContactNo = viewModel.ContactNo;
            if (user.UserId == 0)
            {
                user.UserPassword = Crypto.Hash(viewModel.Password);
                db.Users.Add(user);
            }
            db.SaveChanges();
            PaymentHelper.StartMonthlySubscription(user.UserId);

            UserDetail userDetail = null;

            userDetail = db.UserDetails.Where(w => w.UserDetailId == viewModel.UserDetailId).FirstOrDefault();

            if (userDetail == null)
            {
                userDetail = new UserDetail();
            }
            userDetail.UserDetailBio        = viewModel.Bio;
            userDetail.UserDetailProfession = viewModel.Profession;
            userDetail.UserDetailAge        = viewModel.Age;
            userDetail.UserDetailGender     = viewModel.Gender;
            userDetail.UserId = user.UserId;

            if (userDetail.UserDetailId == 0)
            {
                db.UserDetails.Add(userDetail);
            }
            db.SaveChanges();
            if (roleId == RoleTypes.CUSTOMER_ID)
            {
                return(Redirect("/User/MyProfile"));
            }
            return(Redirect("/"));
        }