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}"); } } }
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); }