public ActionResult AddAccessory(int accessoryToId, int accessoryId) { var itemType = this.RepositoriesFactory.Types.GetById(accessoryToId); if (itemType == null) { return(NotFound()); } var itemTypeToType = this.RepositoriesFactory.Accessories .Find(a => a.AccesoryId == accessoryId // (a.AccesoryId == accessoryId && a.AccesoryToId == accessoryToId) && // (a.AccesoryToId == accessoryId && a.AccesoryId == accessoryToId) ); if (itemTypeToType.Length != 0) { return(BadRequest()); } this.RepositoriesFactory.Accessories.Add(ItemTypeToItemType.Create(accessoryToId, accessoryId)); this.RepositoriesFactory.SaveChanges(); return(Content("OK")); }
/// <summary> /// Doporučený způsob pro vatváření příslušenství. /// </summary> /// <remarks> /// Donutí přemýšlet co přesně je co a je menší šance ztracení se při vytváření, /// lepší přidávat takto přímo to tabulky, EF to díky navigation props. sám prováže. /// </remarks> public static ItemTypeToItemType Create(int accessoryToId, int accessoryId) { var itemTypeToItemType = new ItemTypeToItemType() { AccesoryId = accessoryId, AccesoryToId = accessoryToId, }; return(itemTypeToItemType); }
public static async Task Create(IRepositoriesFactory context, UserManager <User> userManager) { var customer = new User() { UserName = "******", Name = "Novák Josef", Email = "*****@*****.**", Class = "P-2015-2019(ma)", }; var createPowerUser = await userManager.CreateAsync(customer); if (createPowerUser.Succeeded) { // Přidání Admin role await userManager.AddToRoleAsync(customer, RoleType.Customer.ToString()); } var sony = ItemType.CreateEntity("Kamera sony", "Digitální fotoaparát - bezzrcadlovka, Full Frame, CMOS Exmor 24.3 Mpx", new List <Item>() { Item.CreateEntity("Kamera sony_1", ""), Item.CreateEntity("Kamera sony_2", "") }, context, context.Rentals.GetFirst()); var objektiv = ItemType.CreateEntity("Objektiv", "FE 50mm f/1.8", new List <Item>() { Item.CreateEntity("Objektiv_1", ""), Item.CreateEntity("Objektiv_2", "") }, context, context.Rentals.GetFirst()); var accessory = ItemTypeToItemType.Create(sony.Id, objektiv.Id); context.Accessories.Add(accessory); context.SaveChanges(); }