public void SaveGuideChanges(NewGuideModel model) { var guide = _db.guide.FirstOrDefault(e => e.Id == model.Id); if (guide == null) { throw new MyException(Errors.UserNotFound); } model.CopyTo(ref guide); //editor.user.Password = StringTransformationProvider.Md5(model.Password); guide.user.Email = StringTransformationProvider.TransformEmail(model.Email); guide.user.Deleted = model.Deleted; //сохранение новых прав _db.country_permission.RemoveRange(guide.user.country_permission); _db.city_permission.RemoveRange(guide.user.city_permission); //_db.region_permission.RemoveRange(guide.user.region_permission); _db.country_permission.AddRange( model.PermittedCountries.Select(c => new country_permission { CountryId = c, UserId = guide.UserId })); _db.city_permission.AddRange( model.PermittedCities.Select(c => new city_permission { CityId = c, UserId = guide.UserId })); // _db.region_permission.AddRange( // model.PermittedRegions.Select(c => new region_permission { RegionId = c, UserId = guide.UserId })); _db.SaveChanges(); }
public void AddNewAdmin(NewAdminModel model) { model.Email = StringTransformationProvider.TransformEmail(model.Email); if (_db.user.Any(u => u.Email == model.Email)) { throw new MyException(Errors.UserExists); } var trans = _db.Database.BeginTransaction(); try { var newUser = new user { Guid = Guid.NewGuid().ToString(), Password = StringTransformationProvider.Md5(model.Password), Email = model.Email, UserTypeId = GetUserTypeByTag(UserTypes.Admin), Deleted = false }; _db.user.Add(newUser); _db.SaveChanges(); var admin = new admin(); model.CopyTo(ref admin); admin.UserId = newUser.Id; _db.admin.Add(admin); _db.SaveChanges(); trans.Commit(); } catch (Exception) { trans.Rollback(); throw; } }
public void RecoverPassword(string email, string appLang) { var user = _db.user.FirstOrDefault(t => t.Email == email); if (user == null) { throw new MyException(Errors.UserNotFound); } var password = StringTransformationProvider.GeneratePassword(); user.Password = StringTransformationProvider.Md5(password); _db.SaveChanges(); var tenant = user.tenant.FirstOrDefault(); if (tenant != null) { MailProvider.SendMailRecoveryPassword(password, tenant.FirstName, tenant.MiddleName, user.Email, appLang); return; } else { var guide = user.guide.FirstOrDefault(); if (guide != null) { MailProvider.SendMailRecoveryPassword(password, guide.FirstName, guide.MiddleName, user.Email, appLang); return; } else { var journalist = user.journalist.FirstOrDefault(); if (journalist != null) { MailProvider.SendMailRecoveryPassword(password, journalist.FirstName, journalist.MiddleName, user.Email, appLang); return; } else { var editor = user.editor.FirstOrDefault(); if (editor != null) { MailProvider.SendMailRecoveryPassword(password, editor.FirstName, editor.MiddleName, user.Email, appLang); return; } else { MailProvider.SendMailRecoveryPassword(password, "", "", user.Email, appLang); return; } } } } }
public user GetUserByLoginAndPassword(string email, string password) { var md5Pass = StringTransformationProvider.Md5(password); email = StringTransformationProvider.TransformEmail(email); var user = _db.user.FirstOrDefault(u => u.Email == email && md5Pass == u.Password); if (user == null) { throw new MyException(Errors.UserNotFound); } return(user); }
public void SaveTenantChanges(NewTenantModel model) { var tenant = _db.tenant.FirstOrDefault(e => e.Id == model.Id); if (tenant == null) { throw new MyException(Errors.UserNotFound); } model.CopyTo(ref tenant); //editor.user.Password = StringTransformationProvider.Md5(model.Password); tenant.user.Email = StringTransformationProvider.TransformEmail(model.Email); tenant.user.Deleted = model.Deleted; _db.SaveChanges(); }
public void AddNewEditor(NewEditorModel model) { model.Email = StringTransformationProvider.TransformEmail(model.Email); if (_db.user.Any(u => u.Email == model.Email)) { throw new MyException(Errors.UserExists); } var trans = _db.Database.BeginTransaction(); try { var newUser = new user { Guid = Guid.NewGuid().ToString(), Password = StringTransformationProvider.Md5(model.Password), Email = model.Email, UserTypeId = GetUserTypeByTag(UserTypes.Editor), Deleted = model.Deleted }; _db.user.Add(newUser); _db.SaveChanges(); var newEditor = new editor(); model.CopyTo(ref newEditor); newEditor.UserId = newUser.Id; _db.editor.Add(newEditor); _db.country_permission.AddRange( model.PermittedCountries.Select(c => new country_permission { CountryId = c, UserId = newUser.Id })); _db.city_permission.AddRange( model.PermittedCities.Select(c => new city_permission { CityId = c, UserId = newUser.Id })); /* _db.region_permission.AddRange( * model.PermittedRegions.Select(c => new region_permission {RegionId = c, UserId = newUser.Id}));*/ _db.SaveChanges(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw; } }
public void AddNewTenant(string email, string firstName, string middleName, string lastName, DateTime birthDate, string gender, string phone, string address, string appLang) { if (_db.user.Any(u => u.Email == email)) { throw new MyException(Errors.UserExists); } var trans = _db.Database.BeginTransaction(); var password = StringTransformationProvider.GeneratePassword(); try { var newUser = new user { Email = email, Deleted = false, Guid = Guid.NewGuid().ToString(), Password = StringTransformationProvider.Md5(password), UserTypeId = _db.usertype.First(t => t.Tag == UserTypes.Tenant).Id }; _db.user.Add(newUser); _db.SaveChanges(); _db.tenant.Add(new tenant { Address = address, BirthDate = birthDate, UserId = newUser.Id, FirstName = firstName, LastName = lastName, MiddleName = middleName, Gender = gender, Phone = phone }); _db.SaveChanges(); trans.Commit(); MailProvider.SendMailWithCredintails(password, firstName, middleName, email, appLang); } catch { trans.Rollback(); throw; } }
public ActionResult AddNewGuide(NewGuideModel model) { var repo = DependencyResolver.Current.GetService <IRepository>(); try { model.Password = StringTransformationProvider.GeneratePassword(); repo.AddNewGuide(model); MailProvider.SendMailWithCredintails(model.Password, model.FirstName, model.MiddleName, model.Email); } catch (MyException e) { return(new JsonResult { JsonRequestBehavior = JsonRequestBehavior.DenyGet, Data = new { success = false, errorReason = e.Error.Message } }); } return(new JsonResult { JsonRequestBehavior = JsonRequestBehavior.DenyGet, Data = new { success = true } }); }