public static void Main(string[] args) { FileAdapter fileAdapter = new FileAdapter(); var allFamilies = fileAdapter.getAllFamilies(); //AddAllFamilies(allFamilies); using (FamilyDbContext familyDbContext = new FamilyDbContext()) { var first = familyDbContext.Childs.First(child => child.FirstName.Equals("Maria")); Interest interest = familyDbContext.Interests.First(interst => interst.Type.Equals("Fodbold")); ChildInterest childInterest = new ChildInterest() { Child = first, Interest = interest }; familyDbContext.ChildInterests.Add(childInterest); familyDbContext.SaveChanges(); } CreateHostBuilder(args).Build().Run(); }
public async Task DeleteMemberFromFamilyAsync(string streetName, int houseNumber, string memberType, int memberId) { Console.WriteLine("\tDeleting member from family"); using (FamilyDbContext dbContext = new FamilyDbContext()) { Family family = await GetFamilyByAddress(streetName, houseNumber); switch (memberType) { case "adults": Adult adult = family.Adults.First(a => a.Id == memberId); dbContext.Remove(adult); break; case "children": Child child = family.Children.First(c => c.Id == memberId); dbContext.Remove(child); break; case "pets": Pet pet = family.Pets.First(p => p.Id == memberId); dbContext.Remove(pet); break; } dbContext.Update(family); await dbContext.SaveChangesAsync(); } }
//protected Token CreateToken(Manager manager, int hours = DefaultExpirationHours) //{ // var now = CommonService.Now; // if (manager == null) // return null; // // берем пользователя из токена и проверяем на активность (не удален) // var person = manager?.Person; // if (person == null) // return null; // var key = Guid.NewGuid().ToString(); // // создаем стандартный токен // var token = new Token(0, person.ID, manager.ID, manager.Login, key, now.AddHours(DefaultExpirationHours), person.Name, person.Avatar) // { // Roles = manager.Roles.Select(r => r.Name).ToArray() // }; // // создаем доступ к Azure для просмотра материалов // var sas = this.CreateSASToken(); // if (!String.IsNullOrWhiteSpace(sas)) // token.Values.Add(MaterialDataProvider.StorageSASTokenName, sas); // return token; //} public Token Authenticate(string token) { // authentication by the Token var now = CommonService.Now; Token result = null; // создаем новый контекст, дабы не использовать "уже загруженные" сущности using (var dbContext = new FamilyDbContext()) { // находим токин пользователя в базе по заданному коду токена var managerToken = dbContext.Set <UserToken>() .Include(t => t.Manager.Roles) .Include(t => t.Manager.Person.Avatar) .Include(t => t.Guest) //.Where(t => t.Manager.Person.State == Common.Enums.ObjectState.Active) .SingleOrDefault(t => t.Date <= now && now <= t.Expire && t.Code.ToLower() == token.ToLower()); if (managerToken == null) { return(null); } result = this.BuildToken(managerToken); } return(result); }
public static FamilyDbContext CreateFamilyDbContext(CreateDbOptions createDbOptions) { // Create new context for all tests var context = new FamilyDbContext(createDbOptions); Assert.True(context.Parents.Count() >= 0); return(context); }
public async Task UpdateFamilyAsync(Family family) { Console.WriteLine("\tUpdating"); using (FamilyDbContext dbContext = new FamilyDbContext()) { dbContext.Update(family); await dbContext.SaveChangesAsync(); } }
public async Task RegisterAsync(APIUser user) { using (FamilyDbContext dbContext = new FamilyDbContext()) { await dbContext.Users.AddAsync(user); await dbContext.SaveChangesAsync(); } }
public async Task <APIUser> LoginAsync(string username, string password) { using (FamilyDbContext dbContext = new FamilyDbContext()) { APIUser user = await dbContext.Users.FirstOrDefaultAsync(u => u.Username.Equals(username) && u.Password.Equals(password)); return(user); } }
public async Task CreateFamilyAsync(Family family) { Console.WriteLine("\tCreating family"); using (FamilyDbContext dbContext = new FamilyDbContext()) { await dbContext.Families.AddAsync(family); await dbContext.SaveChangesAsync(); } }
public async Task DeleteFamilyAsync(string streetName, int?houseNumber) { Console.WriteLine("\tDeleting family"); using (FamilyDbContext dbContext = new FamilyDbContext()) { Family family = await GetFamilyByAddress(streetName, houseNumber); dbContext.Remove(family); await dbContext.SaveChangesAsync(); } }
public void test_get_persons() { FamilyDbContext context = new FamilyDbContext(); var persons = context.Set <Person>().ToList(); var repo = new PersonRepository(context); File.WriteAllText("hello.txt", "hello"); var find = repo.FindAll("ли"); Assert.IsTrue(find.Count() > 0); }
public Token Authenticate(string login, string password) { // authentication by the Login and Password var now = CommonService.Now; Token result = null; // создаем новый контекст, дабы не использовать "уже загруженные" сущности using (var dbContext = new FamilyDbContext()) { UserToken userToken = null; // authentication for Managers if (userToken == null) { // находим пользователя по логину var manager = dbContext.Set <Manager>() .Include(t => t.Person.Avatar) .Include(t => t.Roles) //.Where(m => m.Person.State == Common.Enums.ObjectState.Active) .FirstOrDefault(m => m.Login.ToLower() == login.ToLower()); if (manager != null && CommonService.VerifyPassword(password, manager.Password)) { userToken = UserToken.Create(manager, null, now.AddHours(DefaultExpirationHours)); } } // authentication for Guests if (userToken == null) { var guest = dbContext.Set <Guest>() .FirstOrDefault(g => g.Date <= now && now <= g.Expire && g.Login.ToLower() == login.ToLower()); if (guest != null && CommonService.VerifyPassword(password, guest.Password)) { userToken = UserToken.Create(null, guest, guest.Expire); } } // saving new token if (userToken != null) { dbContext.Set <UserToken>().Add(userToken); dbContext.SaveChanges(); result = this.BuildToken(userToken); } } return(result); }
public async Task AddChildToFamilyAsync(string streetName, int houseNumber, Child child) { Console.WriteLine("\tAdding child to family " + child.Id); using (FamilyDbContext dbContext = new FamilyDbContext()) { Family family = await GetFamilyByAddress(streetName, houseNumber); family.Children.Add(child); dbContext.Add(child); dbContext.Update(family); await dbContext.SaveChangesAsync(); } }
public async Task AddAdultToFamilyAsync(string streetName, int houseNumber, Adult adult) { Console.WriteLine("\tAdding adult to family " + adult.Id); using (FamilyDbContext dbContext = new FamilyDbContext()) { Family family = await GetFamilyByAddress(streetName, houseNumber); family.Adults.Add(adult); dbContext.Add(adult); dbContext.Update(family); await dbContext.SaveChangesAsync(); } }
public async Task UpdatePetInFamilyAsync(string streetName, int houseNumber, Pet pet) { Console.WriteLine("\tUpdating pet in family"); using (FamilyDbContext dbContext = new FamilyDbContext()) { Family family = await GetFamilyByAddress(streetName, houseNumber); family.EditPet(pet); dbContext.Update(pet); //dbContext.Update(family); await dbContext.SaveChangesAsync(); } }
public async Task <IList <Family> > GetAllFamiliesAsync() { using (FamilyDbContext dbContext = new FamilyDbContext()) { Console.WriteLine("\tGetting families"); List <Family> families = dbContext.Families.Include(f => f.Adults) .Include(f => f.Pets) .Include(f => f.Children) .ThenInclude(c => c.ChildInterests) .ThenInclude(i => i.Interest) .ToList(); return(families); } }
private static void AddAllFamilies(IList <Family> allFamilies) { using (FamilyDbContext familyDbContext = new FamilyDbContext()) { for (int i = 0; i < allFamilies.Count; i++) { familyDbContext.Families.Add(new Family() { HouseNumber = allFamilies[i].HouseNumber, StreetName = allFamilies[i].StreetName }); familyDbContext.SaveChanges(); } } }
public async Task <Family> GetFamilyByAddress(string streetName, int?houseNumber) { using (FamilyDbContext dbContext = new FamilyDbContext()) { Console.WriteLine("\tGetting family at address"); Family family = dbContext.Families.Where(f => f.StreetName.Equals(streetName) && f.HouseNumber == houseNumber) .Include(f => f.Adults) .Include(f => f.Pets) .Include(f => f.Children) .ThenInclude(c => c.ChildInterests) .ThenInclude(i => i.Interest).FirstOrDefault(); return(family); } }
public async Task UpdateAdultInFamilyAsync(string streetName, int houseNumber, Adult adult) { Console.WriteLine("\tUpdating adult in family"); using (FamilyDbContext dbContext = new FamilyDbContext()) { Family family = await GetFamilyByAddress(streetName, houseNumber); family.EditAdult(adult); dbContext.Update(adult); // dbContext.Update(family); Console.WriteLine("Before saving changes"); await dbContext.SaveChangesAsync(); Console.WriteLine("Saved changes to update adult"); } }
private List <Contact> CreateTestContactsWithDetails(FamilyDbContext context) { // Create test entities var category1 = new ContactCategory { CategoryName = "Friends", }; var contact1 = new Contact { ContactCategory = category1 }; // Persist entities context.Contacts.Add(contact1); context.SaveChanges(); // Create one-to-one related entity var data1 = new ContactData { Data = "Data 1", ContactId = contact1.Id, Contact = contact1 }; context.ContactDatas.Add(data1); context.SaveChanges(); // Detach entities var objContext = ((IObjectContextAdapter)context).ObjectContext; objContext.Detach(contact1); // Clear reference properties contact1.ContactCategory = null; contact1.ContactData = null; // Return entities return(new List <Contact> { contact1 }); }
public void Initialize(bool useInMemory = true, Action seedData = null) { if (useInMemory) { // In-memory database only exists while the connection is open _connection = new SqliteConnection("DataSource=:memory:"); _connection.Open(); _options = new DbContextOptionsBuilder <FamilyDbContext>() .UseSqlite(_connection) .Options; } else { _options = new DbContextOptionsBuilder <FamilyDbContext>() .UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB; Initial Catelog=FamilyTest; Integrated Security=True; MultipleActiveResultSets=True") .Options; } _context = new FamilyDbContext(_options); _context.Database.EnsureCreated(); seedData?.Invoke(); }
public DadDailyItemsController(FamilyDbContext context) { _context = context; }