Exemple #1
0
        public void AddElement(User model)
        {
            User element = context.Users.FirstOrDefault(rec => rec.UserLogin == model.UserLogin);

            if (element != null)
            {
                throw new Exception("Этот логин уже занят!");
            }
            User elementEmail = context.Users.FirstOrDefault(rec =>
                                                             rec.UserMail == model.UserMail && rec.Id != model.Id);

            if (elementEmail != null)
            {
                throw new Exception("Этот E-mail уже занят!");
            }
            context.Users.Add(new User
            {
                Id           = model.Id,
                UserFIO      = model.UserFIO,
                UserMail     = model.UserMail,
                UserLogin    = model.UserLogin,
                UserPassword = model.UserPassword,
                isAdmin      = model.isAdmin,
                UserMeetings = null,
            });
            context.SaveChanges();
        }
Exemple #2
0
        public void AddElement(Meeting model)
        {
            if (model.RepeatingDays == "0000000")
            {
                var intersect = context.Meetings
                                .Where(m => m.StartTime.Year == model.StartTime.Year &&
                                       m.StartTime.Month == model.StartTime.Month &&
                                       m.StartTime.Day == model.StartTime.Day &&
                                       m.RepeatingDays == "0000000");
                foreach (var m in intersect)
                {
                    if (MeetingIntersect(m.StartTime, m.EndTime, model.StartTime, model.EndTime))
                    {
                        throw new Exception("Мероприятие пересекается с уже созданным");
                    }
                }
            }

            context.Meetings.Add(new Meeting
            {
                MeetingName        = model.MeetingName,
                MeetingDescription = model.MeetingDescription,
                MeetingTheme       = model.MeetingTheme,
                CreatorId          = model.CreatorId,
                StartTime          = model.StartTime,
                EndTime            = model.EndTime,
                RoomId             = model.RoomId,
                RepeatingDays      = model.RepeatingDays
            });
            foreach (var um in model.UserMeetings)
            {
                context.UserMeetings.Add(new UserMeeting
                {
                    MeetingId = model.Id,
                    UserId    = um.UserId
                });
            }
            context.SaveChanges();

            var creator = context.Users.FirstOrDefault(u => u.Id == model.CreatorId);
            var room    = context.Rooms.FirstOrDefault(r => r.Id == model.RoomId);

            foreach (var um in model.UserMeetings)
            {
                var user = context.Users.FirstOrDefault(u => u.Id == um.UserId);
                if (user != null && room != null && creator != null)
                {
                    MailService.SendEmail(user.UserMail,
                                          user.Id == creator.Id ? "Создание мероприятия" : "Приглашение на мероприятие",
                                          $"{model.MeetingName}\nМесто: {room.RoomName}, {room.RoomAdress}\nВремя начала: {model.StartTime}");
                }
            }
        }
Exemple #3
0
        public void AddElement(Room model)
        {
            Room element = context.Rooms.FirstOrDefault(rec => rec.RoomName == model.RoomName);

            if (element != null)
            {
                throw new Exception("Уже есть помещение с таким названием");
            }
            context.Rooms.Add(new Room
            {
                Id          = model.Id,
                RoomName    = model.RoomName,
                RoomAdress  = model.RoomAdress,
                Description = model.Description,
                Meetings    = null,
            });
            context.SaveChanges();
        }