private List <BomFabricBom> GetBomFabricBom(int skip, int take, int baseFabric, string sort, string filter, Dictionary <string, object> valuesObjects, out List <FabricServiceSearch> FabricServiceList, out int fullCount) { using (var context = new WorkFlowManagerDBEntities()) { IQueryable <BomFabricBom> query; if (filter != null) { filter = filter + " and it.Bom ==(@Bom0)"; valuesObjects.Add("Bom0", baseFabric); var parameterCollection = ConvertToParamters(valuesObjects); fullCount = context.BomFabricBoms.Where(filter, parameterCollection.ToArray()).Count(); query = context.BomFabricBoms.Where(filter, parameterCollection.ToArray()).OrderBy(sort).Skip(skip).Take(take); } else { fullCount = context.BomFabricBoms.Count(x => x.Bom == baseFabric); var row = context.BOMs.FirstOrDefault(x => x.Iserial == baseFabric); if (fullCount == 0) { if (row.BOM_Fabric != 0) { if (row.BOM_FabricType != "Accessories") { var fabric = context.tbl_FabricAttriputes.FirstOrDefault(x => x.Iserial == row.BOM_Fabric); var fabricBom = context.TblFabricBoms.Where(x => x.BaseFabric == fabric.Iserial).ToList(); foreach (var variable in fabricBom) { var bomfabricBom = new BomFabricBom { Bom = row.Iserial, Item = variable.Item, ItemType = variable.ItemType, MaterialUsage = variable.MaterialUsage }; context.BomFabricBoms.AddObject(bomfabricBom); context.SaveChanges(); } } } } query = context.BomFabricBoms.OrderBy(sort).Where(x => x.Bom == baseFabric).Skip(skip).Take(take); } var iserials = query.Select(x => x.Item); FabricServiceList = context.FabricServiceSearches.Where(x => iserials.Any(l => x.Iserial == l)).ToList(); return(query.ToList()); } }
private int DeleteBomFabricBom(BomFabricBom row) { using (var context = new WorkFlowManagerDBEntities()) { var oldRow = (from e in context.BomFabricBoms where e.Iserial == row.Iserial select e).SingleOrDefault(); if (oldRow != null) { context.DeleteObject(oldRow); } context.SaveChanges(); } return(row.Iserial); }
public void SaveMainRow() { if (SelectedMainRow != null) { var valiationCollection = new List <ValidationResult>(); var isvalid = Validator.TryValidateObject(SelectedMainRow, new ValidationContext(SelectedMainRow, null, null), valiationCollection, true); if (isvalid) { var save = SelectedMainRow.Iserial == 0; var saveRow = new BomFabricBom(); saveRow.InjectFrom(SelectedMainRow); Client.UpdateOrInsertBomFabricBomAsync(saveRow, save, MainRowList.IndexOf(SelectedMainRow)); } } }
private BomFabricBom UpdateOrInsertBomFabricBom(BomFabricBom newRow, bool save, int index, out int outindex) { outindex = index; using (var context = new WorkFlowManagerDBEntities()) { if (save) { context.BomFabricBoms.AddObject(newRow); } else { var oldRow = (from e in context.BomFabricBoms where e.Iserial == newRow.Iserial select e).SingleOrDefault(); if (oldRow != null) { GenericUpdate(oldRow, newRow, context); } } context.SaveChanges(); return(newRow); } }