public bool CreateReceiveItem(FrunutStockEntities db, ReceiveItem receiveItem) { bool result = false; using (var dbContextTransaction = db.Database.BeginTransaction()) { var itemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == receiveItem.ItemID && i.WarehouseID == receiveItem.WarehouseID).FirstOrDefault(); var item = db.Items.Where(i => i.ID == receiveItem.ItemID).FirstOrDefault(); try { if (itemWarehouse == null) { ItemWarehouse iw = AddItemWarehouse(receiveItem, item); db.ItemWarehouses.Add(iw); } else { UpdateItemWarehouse(itemWarehouse, receiveItem, item, 1); db.Entry(itemWarehouse).State = EntityState.Modified; } db.ReceiveItems.Add(receiveItem); db.SaveChanges(); dbContextTransaction.Commit(); result = true; } catch (Exception err) { dbContextTransaction.Rollback(); result = false; } } return(result); }
public bool EditReceiveItem(FrunutStockEntities db, ReceiveItem receiveItem) { bool result = false; using (var dbContextTransaction = db.Database.BeginTransaction()) { var oldReceiveItem = db.ReceiveItems.Find(receiveItem.ID); try { if (oldReceiveItem == null) { throw new System.InvalidOperationException("Could't find old values."); } var oldItemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == oldReceiveItem.ItemID && i.WarehouseID == oldReceiveItem.WarehouseID).FirstOrDefault(); var oldItem = db.Items.Where(i => i.ID == oldReceiveItem.ItemID).FirstOrDefault(); if (oldItemWarehouse == null) { throw new System.InvalidOperationException("Could't find old values."); } UpdateItemWarehouse(oldItemWarehouse, oldReceiveItem, oldItem, -1); db.Entry(oldItemWarehouse).State = EntityState.Modified; db.SaveChanges(); var itemWarehouse = db.ItemWarehouses.Where(i => i.ItemID == receiveItem.ItemID && i.WarehouseID == receiveItem.WarehouseID).FirstOrDefault(); var item = db.Items.Where(i => i.ID == receiveItem.ItemID).FirstOrDefault(); if (itemWarehouse == null) { ItemWarehouse iw = AddItemWarehouse(receiveItem, item); db.ItemWarehouses.Add(iw); } else { UpdateItemWarehouse(itemWarehouse, receiveItem, item, 1); } db.Entry(oldReceiveItem).State = EntityState.Detached; db.Entry(receiveItem).State = EntityState.Modified; db.SaveChanges(); dbContextTransaction.Commit(); result = true; } catch (Exception err) { // UpdateItemWarehouse(itemWarehouse, receiveItem, -1); dbContextTransaction.Rollback(); result = false; } } return(result); }
public void TestContext() { // arrange var context = new FrunutStockEntities(); // act var companies = context.Companies.Count(); // assert Assert.AreEqual(2, companies, "Account not debited correctly"); }
public bool CheckRelatedRecords(FrunutStockEntities db, string tableName, string foreignKeyName, Int64 id) { var tables = db.Database.SqlQuery <string>("Select OBJECT_NAME(parent_object_Id) from sys.foreign_keys where object_name(referenced_object_id) = '" + tableName + "'").ToList(); foreach (var table in tables) { var related = db.Database.SqlQuery <Int64>("select " + foreignKeyName + " from " + table + " where " + foreignKeyName + " = " + id + "").Count();//.FirstOrDefault(); if (related > 0) { return(true); } } return(false); }
public void TestAddCompany() { using (var context = new FrunutStockEntities()) { Company Company = new Company() { Name = "Zarif Zarifov", AddedDate = DateTime.Now, ModifiedDate = DateTime.Now, UserName = "******", }; context.Entry(Company).State = System.Data.Entity.EntityState.Added; context.SaveChanges(); } }
public FrunutStockEntities Init() { return(dbContext ?? (dbContext = new FrunutStockEntities())); //The ?? operator is called the null-coalescing operator. It returns the left-hand operand if the operand is not null; otherwise it returns the right hand operand. }