Beispiel #1
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}");
                }
            }
        }
Beispiel #2
0
        public User RestoringPassword(string email)
        {
            User element = context.Users.FirstOrDefault(rec => rec.UserMail == email);

            if (element != null)
            {
                Random r       = new Random();
                String newPass = "";
                for (int i = 0; i < 5; i++)
                {
                    newPass += (Char)r.Next(97, 122);
                }
                element.UserPassword = newPass;
                UpdElement(element);
                MailService.SendEmail(email, "Восстановление пароля", "Ваш логин: " + element.UserLogin + "\nВаш новый пароль: " + newPass);
                return(element);
            }
            return(null);
        }