public bool DeleteEvent(EventDataModel eventData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                var deleteEvent = context.Events
                                  .SingleOrDefault(e => e.Id == eventData.Id);
                bool result = false;
                if (deleteEvent != null)
                {
                    // Deleting Invites
                    var deleteInvites = context.Invites.Where(i => i.EventId == eventData.Id).ToList();
                    foreach (var invite in deleteInvites)
                    {
                        context.Invites.Remove(invite);
                        context.SaveChanges();
                    }

                    // Deleting Comments
                    var deleteComments = context.Comments.Where(c => c.EventId == eventData.Id).ToList();
                    foreach (var comment in deleteComments)
                    {
                        context.Comments.Remove(comment);
                        context.SaveChanges();
                    }

                    // Deleting Event
                    context.Events.Remove(deleteEvent);
                    context.SaveChanges();
                    result = true;
                }
                return(result);
            }
        }
Пример #2
0
        public List <CommentDataModel> GetComments(CommentDataModel commentData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                List <CommentDataModel> listOfComments = null;
                var commentsEntityList = context.Comments.Where(c => c.EventId == commentData.EventId).ToList();

                if (commentsEntityList != null)
                {
                    listOfComments = new List <CommentDataModel>();

                    foreach (var comment in commentsEntityList)
                    {
                        CommentDataModel commentDataModel = new CommentDataModel();
                        commentDataModel.Date     = (DateTime)comment.Date;
                        commentDataModel.UserName = comment.UserName;
                        commentDataModel.UserId   = comment.UserId;
                        commentDataModel.EventId  = comment.EventId;
                        commentDataModel.Comment  = comment.Comment1;

                        listOfComments.Add(commentDataModel);
                    }
                }

                return(listOfComments);
            }
        }
        public EventDataModel GetEventDetails(EventDataModel eventData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                var            eventDetail    = context.Events.Where(e => e.Id == eventData.Id).SingleOrDefault();
                EventDataModel eventDataModel = new EventDataModel();

                if (eventDetail != null)
                {
                    eventDataModel.Date            = eventDetail.Date;
                    eventDataModel.Description     = eventDetail.Description;
                    eventDataModel.DurationInHours = (int)eventDetail.DurationInHours;
                    eventDataModel.Id           = eventDetail.Id;
                    eventDataModel.InviteEmails = eventDetail.InviteEmails;
                    eventDataModel.Location     = eventDetail.Location;
                    eventDataModel.OtherDetails = eventDetail.OtherDetails;
                    eventDataModel.StartTime    = (DateTime)eventDetail.StartTime;
                    eventDataModel.Title        = eventDetail.Title;
                    eventDataModel.TotalInvites = (int)eventDetail.TotalInvites;
                    eventDataModel.Type         = eventDetail.Type;
                    eventDataModel.UserId       = eventDetail.UserId;
                }

                return(eventDataModel);
            }
        }
        public UserDataModel CreateUser(UserDataModel userData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                User user = new User();
                user.FullName = userData.FullName;
                user.Role     = userData.Role;
                user.Email    = userData.Email;
                user.Password = userData.Password;
                // string Password = userData.Password;

                // string Encrypted = EncriptionAndDecription.Encrypt(Password);
                //  user.Password = Encrypted;

                bool isExist = context.Users.Any(u => u.Email == user.Email);

                if (!isExist)
                {
                    context.Users.Add(user);
                    context.SaveChanges();

                    return(userData);
                }

                return(null);
            }
        }
        public EventDataModel EditEvent(EventDataModel eventData)
        {
            List <string> inviteEmails = ConvertInviteEmails(eventData.InviteEmails);

            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                Event editEvent = context.Events.SingleOrDefault(e => e.Id == eventData.Id);

                if (eventData != null)
                {
                    editEvent.Description     = eventData.Description;
                    editEvent.DurationInHours = (int)eventData.DurationInHours;
                    editEvent.InviteEmails    = eventData.InviteEmails;
                    editEvent.Location        = eventData.Location;
                    editEvent.OtherDetails    = eventData.OtherDetails;
                    editEvent.StartTime       = (DateTime)eventData.StartTime;
                    editEvent.Title           = eventData.Title;
                    editEvent.Type            = eventData.Type;
                    editEvent.Date            = eventData.Date;
                }
                context.SaveChanges();

                int countOfInvites = 0;
                if (inviteEmails != null && editEvent.Type != "Private")
                {
                    foreach (string email in inviteEmails)
                    {
                        var user = context.Users.Where(u => u.Email == email).SingleOrDefault();

                        if (user != null)
                        {
                            var invite = context.Invites
                                         .SingleOrDefault(i => i.EventId == editEvent.Id && i.UserId == user.Id);

                            if (invite == null)
                            {
                                Invite inviteDetail = new Invite();
                                inviteDetail.EventId = editEvent.Id;
                                inviteDetail.UserId  = user.Id;
                                context.Invites.Add(inviteDetail);
                                context.SaveChanges();
                            }

                            countOfInvites++;
                        }
                    }
                }

                editEvent.TotalInvites = countOfInvites;
                context.SaveChanges();
                eventData.TotalInvites = countOfInvites;
                return(eventData);
            }
        }
Пример #6
0
        public CommentDataModel CreateComments(CommentDataModel commentsData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                Comment newComment = new Comment();

                newComment.Comment1 = commentsData.Comment;
                newComment.Date     = commentsData.Date;
                newComment.EventId  = commentsData.EventId;
                newComment.UserId   = commentsData.UserId;
                newComment.UserName = commentsData.UserName;

                context.Comments.Add(newComment);
                context.SaveChanges();
                return(commentsData);
            }
        }
Пример #7
0
        public List <EventDataModel> GetInvites(InviteDataModel invitesData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                List <EventDataModel> listOfInvites = null;
                Event  eventModel        = new Event();
                Invite inviteModel       = new Invite();
                var    invitesEntityList = context.Invites.Where(i => i.UserId == invitesData.UserId).
                                           GroupJoin(context.Events,
                                                     i => i.EventId, e => e.Id, (i, eve) => new
                {
                    eventDetail = eve
                });

                if (invitesEntityList != null)
                {
                    listOfInvites = new List <EventDataModel>();

                    foreach (var invite in invitesEntityList)
                    {
                        EventDataModel eventDataModel = new EventDataModel();
                        eventDataModel.Date            = invite.eventDetail.ElementAt(0).Date;
                        eventDataModel.Description     = invite.eventDetail.ElementAt(0).Description;
                        eventDataModel.DurationInHours = (int)invite.eventDetail.ElementAt(0).DurationInHours;
                        eventDataModel.Id           = invite.eventDetail.ElementAt(0).Id;
                        eventDataModel.InviteEmails = invite.eventDetail.ElementAt(0).InviteEmails;
                        eventDataModel.Location     = invite.eventDetail.ElementAt(0).Location;
                        eventDataModel.OtherDetails = invite.eventDetail.ElementAt(0).OtherDetails;
                        eventDataModel.StartTime    = (DateTime)invite.eventDetail.ElementAt(0).StartTime;
                        eventDataModel.Title        = invite.eventDetail.ElementAt(0).Title;
                        eventDataModel.TotalInvites = (int)invite.eventDetail.ElementAt(0).TotalInvites;
                        eventDataModel.Type         = invite.eventDetail.ElementAt(0).Type;
                        eventDataModel.UserId       = invite.eventDetail.ElementAt(0).UserId;


                        listOfInvites.Add(eventDataModel);
                    }
                }

                return(listOfInvites);
            }
        }
        public List <EventDataModel> GetUserPastEvents(EventDataModel eventData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                List <EventDataModel> listOfEvents = null;
                var eventsEntityList = context.Events.OrderByDescending(e => e.Date)
                                       .Where(e => e.Date < DateTime.Now && e.Type == "Public" ||
                                              (e.Type == "Private" && e.UserId == eventData.UserId && e.Date < DateTime.Now))
                                       .ToList();

                if (eventsEntityList != null)
                {
                    listOfEvents = new List <EventDataModel>();
                    foreach (Event levent in eventsEntityList)
                    {
                        EventDataModel eventDataModel = new EventDataModel();
                        eventDataModel.Date            = levent.Date;
                        eventDataModel.Description     = levent.Description;
                        eventDataModel.DurationInHours = (int)levent.DurationInHours;
                        eventDataModel.Id           = levent.Id;
                        eventDataModel.InviteEmails = levent.InviteEmails;
                        eventDataModel.Location     = levent.Location;
                        eventDataModel.OtherDetails = levent.OtherDetails;
                        eventDataModel.StartTime    = (DateTime)levent.StartTime;
                        eventDataModel.Title        = levent.Title;
                        eventDataModel.TotalInvites = (int)levent.TotalInvites;
                        eventDataModel.Type         = levent.Type;
                        eventDataModel.UserId       = levent.UserId;


                        listOfEvents.Add(eventDataModel);
                    }
                }

                return(listOfEvents);
            }
        }
        public UserDataModel LoginUser(UserDataModel userData)
        {
            using (var context = new BookReadingEventsDBEntities())
            {
                context.Database.Log = Logger.Log;

                User user = context.Users.SingleOrDefault(u => u.Email == userData.Email);
                // string Password = userData.Password;
                // string Decrypted = EncriptionAndDecription.Decrypt(Password);
                var IsValid = context.Users.SingleOrDefault(u => u.Email == userData.Email && u.Password == userData.Password);
                if (IsValid != null)
                {
                    userData.FullName = IsValid.FullName;
                    userData.Role     = IsValid.Role;
                    userData.Email    = IsValid.Email;
                    userData.Id       = IsValid.Id;
                    return(userData);
                }

                return(null);
            }
        }