示例#1
0
        public static void AddUser(User newUser)
        {
            using (var db = new MyCirclesEntityModel())
            {
                if (String.IsNullOrEmpty(newUser.Password))
                {
                    throw new ArgumentException("Required fields are not filled up");
                }
                else
                {
                    if (db.Users.Any(u => u.Username == newUser.Username))
                    {
                        throw new ArgumentException("That username is not available");
                    }

                    if (db.Users.Any(u => u.EmailAddress == newUser.EmailAddress))
                    {
                        throw new ArgumentException("There's an account registered with that email");
                    }

                    newUser.Password     = Crypto.HashPassword(newUser.Password);
                    newUser.ProfileImage = "/Content/images/DefaultProfileIcon.png";

                    db.Users.Add(newUser);
                    db.SaveChanges();
                }
            }
        }
        public static void ChangeUserCirclePoints(int userId, string circleName, int points, string source, bool addNotification, string callToAction = null, string callToActionLink = null)
        {
            using (var db = new MyCirclesEntityModel())
            {
                UserCircle userCircle =
                    db.UserCircles
                    .Where(uc => uc.UserId == userId && uc.CircleId == circleName).FirstOrDefault();

                if (userCircle != null)
                {
                    userCircle.Points += points;
                    db.SaveChanges();

                    if (addNotification)
                    {
                        Notification notification = new Notification();
                        notification.Type             = (points > 0) ? "positive" : "negative";
                        notification.Action           = (points > 0) ? "Gained" : "Lost";
                        notification.Action          += $" {points} points in {circleName}";
                        notification.Source           = source;
                        notification.UserId           = userId;
                        notification.CallToAction     = callToAction;
                        notification.CallToActionLink = callToActionLink;
                        NotificationDAO.AddNotification(notification);
                    }
                }
            }
        }
示例#3
0
        public static ChatRoom GetChatRoom(int user1Id, int user2Id)
        {
            ChatRoom existingChatRoom = null;

            using (var db = new MyCirclesEntityModel())
            {
                if (user1Id != user2Id)
                {
                    existingChatRoom = db.ChatRooms.Where(cr =>
                                                          (cr.User1Id == user1Id && cr.User2Id == user2Id) ||
                                                          (cr.User1Id == user2Id && cr.User2Id == user1Id))
                                       .FirstOrDefault();

                    if (existingChatRoom == null)
                    {
                        existingChatRoom           = new ChatRoom();
                        existingChatRoom.User1Id   = user1Id;
                        existingChatRoom.User2Id   = user2Id;
                        existingChatRoom.CreatedAt = DateTime.Now;
                        db.ChatRooms.Add(existingChatRoom);
                    }

                    db.SaveChanges();
                }
            }

            return(existingChatRoom);
        }
示例#4
0
        public static Mutual ToggleMutual(int user1Id, int user2Id)
        {
            Mutual newMutual = null;

            using (var db = new MyCirclesEntityModel())
            {
                Mutual existingMutual = db.Mutuals.Where(em =>
                                                         (em.User1Id == user1Id && em.User2Id == user2Id) ||
                                                         (em.User1Id == user2Id && em.User2Id == user1Id))
                                        .FirstOrDefault();

                if (existingMutual == null)
                {
                    newMutual         = new Mutual();
                    newMutual.User1Id = user1Id;
                    newMutual.User2Id = user2Id;
                    db.Mutuals.Add(newMutual);
                }
                else
                {
                    db.Mutuals.Remove(existingMutual);
                }

                db.SaveChanges();
            }

            return(newMutual);
        }
示例#5
0
        public static Message AddMessage(int chatRoomId, string content, int recieverId, int senderId, string lat = null, string lng = null)
        {
            using (var db = new MyCirclesEntityModel())
            {
                db.Configuration.LazyLoadingEnabled = false;

                Message newMessage = new Message();
                newMessage.ChatRoomId = chatRoomId;
                newMessage.Content    = content;
                newMessage.CreatedAt  = DateTime.Now;
                newMessage.SenderId   = senderId;
                newMessage.RecieverId = recieverId;

                if (!String.IsNullOrEmpty(lat) && !String.IsNullOrEmpty(lng))
                {
                    newMessage.HasGeolocation = true;
                    newMessage.Latitude       = Double.Parse(lat);
                    newMessage.Longitude      = Double.Parse(lng);
                }

                db.Messages.Add(newMessage);
                db.SaveChanges();

                return(newMessage);
            }
        }
 public static void AddReport(ReportedPost newReport)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.ReportedPosts.Add(newReport);
         db.SaveChanges();
     }
 }
示例#7
0
 public static void RemoveUserCircleByCircleId(string circleId)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.Circles.RemoveRange(db.Circles.Where(circle => circle.Id == circleId));
         db.SaveChanges();
     }
 }
示例#8
0
 public static void ItineraryPref(ItineraryPref newPref)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.ItineraryPrefs.Add(newPref);
         db.SaveChanges();
     }
 }
示例#9
0
 public static void DeleteDayByDay(int itineraryId)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.DayByDays.RemoveRange(db.DayByDays.Where(i => i.itineraryId == itineraryId));
         db.SaveChanges();
     }
 }
示例#10
0
 public static void DeleteCommentByPostId(int postId)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.Comments.RemoveRange(db.Comments.Where(p => p.PostId == postId));
         db.SaveChanges();
     }
 }
示例#11
0
 public static void AddPost(Post newPost)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.Posts.Add(newPost);
         db.SaveChanges();
     }
 }
示例#12
0
 public static void AddDayByDay(DayByDay newdaybyday)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.DayByDays.Add(newdaybyday);
         db.SaveChanges();
     }
 }
示例#13
0
 public static void AddAdmin(BLL.Admin admin)
 {
     using (MyCirclesEntityModel db = new MyCirclesEntityModel())
     {
         db.Admins.Add(admin);
         db.SaveChanges();
     }
 }
示例#14
0
 public static void AddComment(Comment newComment)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.Comments.Add(newComment);
         db.SaveChanges();
     }
 }
示例#15
0
 public static void AddGoogleUser(User newUser)
 {
     using (var db = new MyCirclesEntityModel())
     {
         db.Users.Add(newUser);
         db.SaveChanges();
     }
 }
        public static void AddNewEventSchedule(EventSchedule eventSchedule)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                db.EventSchedules.Add(eventSchedule);

                db.SaveChanges();
            }
        }
示例#17
0
        public static void AddEventSignUp(BLL.SignUpEventDetail userSignUpDetails)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                db.SignUpEventDetails.Add(userSignUpDetails);

                db.SaveChanges();
            }
        }
 public static void AddNotification(Notification notification)
 {
     using (var db = new MyCirclesEntityModel())
     {
         notification.CreatedAt = DateTime.Now;
         db.Notifications.Add(notification);
         db.SaveChanges();
     }
 }
示例#19
0
 public static Itinerary AddItinerayDAO(Itinerary newItinerary)
 {
     using (var db = new MyCirclesEntityModel())
     {
         Itinerary itinerary;
         itinerary = db.Itineraries.Add(newItinerary);
         db.SaveChanges();
         return(itinerary);
     }
 }
示例#20
0
        public static UserCircle RemoveUserCircle(int id)
        {
            using (var db = new MyCirclesEntityModel())
            {
                UserCircle existingUserCircle = db.UserCircles.Where(uc => uc.Id == id).FirstOrDefault();

                db.UserCircles.Remove(existingUserCircle);
                db.SaveChanges();

                return(existingUserCircle);
            }
        }
示例#21
0
        public static void UpdateIsDisabled(int id, bool isDisabled)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                User user = db.Users
                            .Where(u => u.Id == id)
                            .FirstOrDefault();

                user.IsDeleted = isDisabled;
                db.SaveChanges();
            }
        }
示例#22
0
        public static Event AddNewEvent(Event eventData)
        {
            Event evt = null;

            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                evt = db.Events.Add(eventData);

                db.SaveChanges();
            }
            return(evt);
        }
示例#23
0
        public static List <UserCircle> RemoveUserCircles(int userId)
        {
            using (var db = new MyCirclesEntityModel())
            {
                List <UserCircle> existingUserCircles = db.UserCircles.Where(uc => uc.UserId == userId).ToList();

                db.UserCircles.RemoveRange(db.UserCircles.Where(uc => uc.UserId == userId));
                db.SaveChanges();

                return(existingUserCircles);
            }
        }
示例#24
0
        public static void ToggleLoginStatus(int id, bool isLoggedIn)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                User user = db.Users
                            .Where(u => u.Id == id)
                            .FirstOrDefault();

                user.IsLoggedIn = isLoggedIn;

                db.SaveChanges();
            }
        }
示例#25
0
        public static void UpdateIsEventHost(int id, bool isEventHost)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                User user = db.Users
                            .Where(u => u.Id == id)
                            .FirstOrDefault();

                user.IsEventHolder = isEventHost;

                db.SaveChanges();
            }
        }
示例#26
0
        public static void UpdateDay(int dayId, string notes)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                List <Day> dayList = new List <Day>();
                dayList = db.Days.Where(i => i.dayId == dayId).ToList();
                foreach (Day d in dayList)
                {
                    d.notes = notes;
                }

                db.SaveChanges();
            }
        }
        public static void DeleteReportedPostByPostId(int postId)
        {
            using (var db = new MyCirclesEntityModel())
            {
                List <ReportedPost> posts = db.ReportedPosts.Where(p => p.postId == postId).ToList();

                foreach (ReportedPost post in posts)
                {
                    post.postId = null;
                }

                db.SaveChanges();
            }
        }
示例#28
0
        public static void EditUser(User editedUser)
        {
            using (var db = new MyCirclesEntityModel())
            {
                User currentUser = db.Users.Where(u => u.Id == editedUser.Id).FirstOrDefault();

                currentUser.Id           = editedUser.Id;
                currentUser.Username     = editedUser.Username;
                currentUser.Bio          = editedUser.Bio;
                currentUser.ProfileImage = editedUser.ProfileImage;

                db.SaveChanges();
            }
        }
示例#29
0
        public static void SetMessageSeenStatus(int chatRoomId, int recieverId, bool seenStatus = true)
        {
            using (var db = new MyCirclesEntityModel())
            {
                db.Configuration.LazyLoadingEnabled = false;

                foreach (var message in db.Messages.Where(m => m.ChatRoomId == chatRoomId && m.RecieverId == recieverId && m.IsSeen == false).ToList())
                {
                    message.IsSeen = seenStatus;
                }

                db.SaveChanges();
            }
        }
示例#30
0
        public static void UpdateUserLocation(int id, double?latitude, double?longitude, string city)
        {
            using (MyCirclesEntityModel db = new MyCirclesEntityModel())
            {
                var userQuery = db.Users
                                .Where(u => u.Id == id)
                                .FirstOrDefault();

                userQuery.Latitude  = latitude;
                userQuery.Longitude = longitude;
                userQuery.City      = city;

                db.SaveChanges();
            }
        }