// ЗАПЧАСТЬ - УДАЛИТЬ 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); } }
// ЗАПЧАСТЬ - РЕДАКТИРОВАТЬ - СОХРАНИТЬ 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; } } }