Exemple #1
0
        // ЗАПЧАСТЬ - УДАЛИТЬ
        public void SpareDelete(SpareView item)
        {
            if (!ready())
                return;
            //try
            {
                DataAccess da = new DataAccess();
                int cnt = SpareContainer.Instance.Spares.Where(s => s.BrandID == item.BrandID && s.GroupID == item.GroupID).Count();
                spare sp = da.GetSpare(item.id);
                if (sp.spare_group == null)
                    sp.spare_groupReference.Load();
                if (sp.brand == null)
                    sp.brandReference.Load();
                int BrandID = item.BrandID;
                int GroupID = item.GroupID;
                da.SpareDelete(item.id);
                SpareContainer.Instance.Remove(item.id);

                // проверить, не последняя ли это деталь в брэнде в данной группе
                if (cnt < 2)
                {
                    da.SpareGroupDelete(BrandID, GroupID);
                }
            }

            //catch (Exception ex)
            {
                //    this.Log(ex.Message);
            }
        }
Exemple #2
0
        // ЗАПЧАСТЬ - РЕДАКТИРОВАТЬ - СОХРАНИТЬ
        public spare SpareEdit(int SpareID, string Name, string Code, string CodeShatem, int QDemand, int GroupID, int BrandID, int UnitID, string Description)
        {
            DataAccess da = new DataAccess();
            spare sp = da.GetSpare(SpareID);
            sp.name = Name;
            sp.code = Code;
            sp.codeShatem = CodeShatem;
            sp.q_demand = QDemand;
            sp.q_demand_clear = QDemand;
            sp.q_rest = 0;
            sp.description = Description;
            if (sp.brand == null)
                sp.brandReference.Load();
            if (sp.spare_group == null)
                sp.spare_groupReference.Load();

            string OldBrandName = sp.BrandName;
            int OldBrandID = sp.brand.id;
            int OldGroupID = sp.spare_group.id;

            spare s = da.SpareEdit(sp, BrandID, GroupID, UnitID);
            SpareContainer.Instance.Update(s.id);

            if (OldBrandID != BrandID || OldGroupID != GroupID)
            {
                if (SpareContainer.Instance.Spares.Where(i => i.BrandID == OldBrandID && i.GroupID == OldGroupID).Count() == 0)
                {
                    da.SpareGroupDelete(OldBrandID, OldGroupID);
                    mainWindowObj.LoadGroups(false);
                }
                if (SpareContainer.Instance.Spares.Where(i => i.BrandID == BrandID && i.GroupID == GroupID).Count() == 1)
                {
                    da.SpareGroupCreate(GroupID, BrandID);
                    mainWindowObj.LoadGroups(false);
                }
            }
            return s;
        }
        private void BackgroundEdit_DoWork(object sender, DoWorkEventArgs e)
        {
            int SpareID = _spare.id;
            DataAccess da = new DataAccess();
            spare sp = da.GetSpare(SpareID);
            sp.name = SpareUpdateName;
            sp.code = SpareUpdateCode;
            sp.codeShatem = SpareUpdateCodeShatem;
            sp.q_demand = SpareUpdateQDemand;
            sp.q_demand_clear = SpareUpdateQDemand;
            sp.q_rest = 0;
            sp.description = SpareUpdateDescription;
            if (sp.brand == null)
                sp.brandReference.Load();
            if (sp.spare_group == null)
                sp.spare_groupReference.Load();

            string OldBrandName = sp.BrandName;
            int OldBrandID = sp.brand.id;
            int OldGroupID = sp.spare_group.id;

            spare s = da.SpareEdit(sp, SpareUpdateBrandID, SpareUpdateGroupID, SpareUpdateUnitID);
            SpareContainer.Instance.Update(s.id);

            if (OldBrandID != SpareUpdateBrandID || OldGroupID != SpareUpdateGroupID)
            {
                if (SpareContainer.Instance.Spares.Where(i => i.BrandID == OldBrandID && i.GroupID == OldGroupID).Count() == 0)
                {
                    da.SpareGroupDelete(OldBrandID, OldGroupID);
                    ReloadGroups = true;
                }
                if (SpareContainer.Instance.Spares.Where(i => i.BrandID == SpareUpdateBrandID && i.GroupID == SpareUpdateGroupID).Count() == 1)
                {
                    da.SpareGroupCreate(SpareUpdateGroupID, SpareUpdateBrandID);
                    ReloadGroups = true;
                }
            }
        }