Пример #1
0
        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());
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
                }
            }
        }
Пример #4
0
 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);
     }
 }