public BillReturnEntityWrapper Delete(BillApiWrapper objBillApiWrapper) { ApplicationDBContext objApplicationDBContext = new ApplicationDBContext(); Bill objBill = objApplicationDBContext .Bills .Include("Entries") .Where(x => x.BillID == objBillApiWrapper.BillID) .FirstOrDefault(); if (objBill != null) { objApplicationDBContext.BillEntries.RemoveRange(objBill.Entries); objApplicationDBContext.Bills.Remove(objBill); objApplicationDBContext.SaveChanges(); return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.OK)); } else { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_BILL_ID)); } }
public BillReturnEntityWrapper Edit(BillApiWrapper objBillApiWrapper) { if (objBillApiWrapper.PurchaseDate == null) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_PURCHASE_DATE)); } if (objBillApiWrapper.Entries == null || objBillApiWrapper.Entries.Count == 0) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.NO_BILL_ENTRIES)); } if (objBillApiWrapper.Shop == null) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_SHOP_ID)); } ApplicationDBContext objApplicationDBContext = new ApplicationDBContext(); Models.User objUser = objApplicationDBContext .Users .Where(x => x.UserID == objBillApiWrapper.UserID) .FirstOrDefault(); if (objUser == null) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_USER_ID)); } List <ProductCategory> listProductCategory = objApplicationDBContext .ProductCategories .ToList(); // bill entries validation foreach (BillEntryController.BillEntryApiWrapper objBillEntryApiWrapper in objBillApiWrapper.Entries) { if (objBillEntryApiWrapper.Category == null || listProductCategory.Find(x => x.ProductCategoryID == objBillEntryApiWrapper.Category.ProductCategoryID) == null) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_CATEGORY_ID)); } if (objBillEntryApiWrapper.Price <= 0.0M) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_PRICE)); } if (("" + objBillEntryApiWrapper.ProductName).Trim() == "") { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_PRODUCT_NAME)); } if (objBillEntryApiWrapper.Quantity <= 0.0) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_QUANTITY)); } } List <Shop> listShop = objApplicationDBContext .Shops .Include("UserOwner") .Where(x => x.UserOwner.UserID == objUser.UserID) .ToList(); Shop objShopToAssign = null; if (listShop.Find(x => x.ShopID == objBillApiWrapper.Shop.ShopID && objBillApiWrapper.Shop.UserOwnerID == objUser.UserID) != null) { objShopToAssign = listShop.Find(x => x.ShopID == objBillApiWrapper.Shop.ShopID && objBillApiWrapper.Shop.UserOwnerID == objUser.UserID); } else { if (("" + objBillApiWrapper.Shop.ShopName).Trim() == "") { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_SHOP_NAME)); } if (objUser.UserID != objBillApiWrapper.Shop.UserOwnerID) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_SHOP_OWNER_ID)); } objShopToAssign = new Shop() { ShopName = ("" + objBillApiWrapper.Shop.ShopName).Trim(), UserOwner = objUser }; objApplicationDBContext.Shops.Add(objShopToAssign); objApplicationDBContext.SaveChanges(); } Bill objBill = objApplicationDBContext .Bills .Include("Shop") .Include("Shop.UserOwner") .Where(x => x.BillID == objBillApiWrapper.BillID) .FirstOrDefault(); if (objBill == null) { return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.WRONG_BILL_ID)); } objBillApiWrapper.FillModel(ref objBill, true); objBill.Shop = objShopToAssign; objApplicationDBContext.SaveChanges(); return(new BillReturnEntityWrapper(BillReturnEntityWrapper.EnumReturnCodes.OK)); }