/// <summary> /// Tries to update the item. /// </summary> /// <param name="item">The item.</param> /// <param name="errors">The errors.</param> /// <param name="context">The context.</param> /// <returns></returns> /// <exception cref="InvalidOperationException"></exception> private bool TryUpdate(IAccountDataModel item, List <IModelError> errors, IModelContext context = null) { if (TryValidateModel(item, Operation.Update, errors, context) == false) { return(false); } if (item != null && item.Password != null) { item.Password = cryptoProvider.CreateHash(item.Password); } try { changeHandler.BeforeUpdate(item, context); dal.Update(item, context); changeHandler.AfterUpdate(item, context); } catch (Exception ex) { log.Exception(LogName, ex); throw new InvalidOperationException("Unable to update IAccountDataModel", ex); } return(true); }
protected override void Seed(DatabaseContext context) { var problem = new Problem { Name = "Водопровід" }; context.Problems.Add(problem); problem = new Problem { Name = "Газопровід" }; context.Problems.Add(problem); problem = new Problem { Name = "Каналізація" }; context.Problems.Add(problem); problem = new Problem { Name = "Покрівля" }; context.Problems.Add(problem); problem = new Problem { Name = "Електропостачання" }; context.Problems.Add(problem); problem = new Problem { Name = "Предаварійний стан будівлі" }; context.Problems.Add(problem); problem = new Problem { Name = "Ліфт" }; context.Problems.Add(problem); var streets = Parser.GetStreets(null); // Get streets from Dropbox server foreach (var street in streets) { context.Streets.Add(new Street { Lang = street.Lang, Name = street.Name }); } var user = new User(); var deputies = Parser.GetDeputies(null); // Get deputies from Dropbox server foreach (var deputy in deputies) { user.Street = null; user.House = null; user.Flat = null; user.FirstName = deputy.FirstName; user.LastName = deputy.LastName; user.SecondName = deputy.SecondName; user.Party = deputy.Party; user.RoleId = 1; user.Hash = _cryptoProvider.EncryptString(_cryptoProvider.GenerateCode(8)); user.Login = _cryptoProvider.GenerateDeputyLogin(deputy.FirstName, deputy.LastName); context.Users.Add(user); } var role = new Roles { Id = 1, Name = "Deputy" }; context.Roles.Add(role); role = new Roles { Id = 2, Name = "User" }; context.Roles.Add(role); context.SaveChanges(); // TODO Must be deleted - begin var deput = new User { FirstName = "Dima", Flat = null, House = null, Street = null, LastName = "Beseda", Login = "******", RoleId = 1, SecondName = "Gennadievich", Party = "Партия регионов", Hash = _cryptoProvider.CreateHash("12345678"), }; context.Users.Add(deput); context.SaveChanges(); var random = new Random(); for (var i = 0; i < 100; i++) { var rand = random.Next(0, context.Streets.Count() - 1); var street = context.Streets.FirstOrDefault(x => x.Id == rand).Name; user.Street = street; user.House = null; user.Flat = null; user.FirstName = _cryptoProvider.GenerateCode(10); user.LastName = _cryptoProvider.GenerateCode(8); user.SecondName = _cryptoProvider.GenerateCode(9); user.Party = null; user.RoleId = 2; user.Hash = _cryptoProvider.EncryptString(_cryptoProvider.GenerateCode(8)); user.Login = _cryptoProvider.GenerateCode(6); context.Users.Add(user); } context.SaveChanges(); for (var i = 0; i < 200; i++) { var social = new SocialRequest(); if (i % 3 == 0) { social.Done = true; } else if (i % 2 == 0) { social.Done = false; } else { social.Done = null; } social.House = random.Next(0, 60).ToString(); social.StreetId = random.Next(0, context.Streets.Count() - 1); social.ProblemId = random.Next(0, context.Problems.Count() - 1); var allDeputies = context.Users.Where(x => x.RoleId == 1).ToList(); social.DeputyId = allDeputies[random.Next(0, allDeputies.Count - 1)].Id; social.CreatingDate = RandomDay(); if (social.Done == true) { social.FinishDate = social.CreatingDate.AddDays(random.Next(0, 40)); } var allUsers = context.Users.Where(x => x.RoleId == 2).ToList(); social.UserId = allDeputies[random.Next(0, allUsers.Count - 1)].Id; context.SocialRequests.Add(social); } context.SaveChanges(); // TODO Must be deleted - end base.Seed(context); // Don't delete }