public Guid InsertNewSetting(AutomaticSubscriptionSetting setting) { this._dbContext.AutomaticSubscriptionSettings.Add(setting); this._dbContext.SaveChanges(); return(setting.Id); }
public Guid InsertNewUser(NewUserRequestDto newUser) { var userEntity = this._mapper.Map <NewUserRequestDto, User>(newUser); userEntity.Id = Guid.NewGuid(); if (newUser.BirthDate != null) { var userBirthdate = DateTime.Parse(newUser.BirthDate.ToString()); var minDateForSql = DateTime.Parse(InitialDateString); userEntity.BirthDate = userBirthdate <= minDateForSql ? minDateForSql : newUser.BirthDate; } else { userEntity.BirthDate = DateTime.Parse(InitialDateString); } // add groups if (newUser.GroupIds != null && newUser.GroupIds.Any()) { userEntity.Groups = new List <Group>(); var groupEntities = this._unitOfWork.GroupRepository.GetGroups().Where(gr => newUser.GroupIds.Contains(gr.Id)); foreach (var groupEntity in groupEntities) { userEntity.Groups.Add(groupEntity); } } // add languages if (newUser.LanguageIds != null && newUser.LanguageIds.Any()) { userEntity.Languages = new List <Language>(); var languageEntities = this._unitOfWork.LanguageRepository.GetAlLanguages().Where(l => newUser.LanguageIds.Contains(l.Id)); foreach (var languageEntity in languageEntities) { userEntity.Languages.Add(languageEntity); } } // add default notification settings var newNotificationSettingEntity = new AutomaticSubscriptionSetting() { AutomaticallySubscribeToAllGroupsWithTag = false, AutomaticallySubscribeToAllGroups = false }; userEntity.AutomaticSubscriptionSettings = newNotificationSettingEntity; this._unitOfWork.UserRepository.InsertNewUser(userEntity); this._unitOfWork.Save(); return(userEntity.Id); }