private void GetCenyGrKart(int id_defceny, int idGrKart) { if (_defceny.ODNETTO == 1) { ReadonlyNetto = false; ReadonlyBrutto = true; } if (_defceny.ODNETTO == 0) { ReadonlyNetto = true; ReadonlyBrutto = false; } var query = from a in Context.IHP_CENNIK join k in Context.IHP_KARTOTEKA on a.ID_IHP_KARTOTEKA equals k.ID_IHP_KARTOTEKA join s in Context.IHP_STAWKAVAT on k.ID_IHP_STAWKAVAT equals s.ID_IHP_STAWKAVAT where (a.ID_IHP_DEFCENY == id_defceny) select new { a.ID_IHP_CENNIK, a.ID_IHP_DEFCENY, a.ID_IHP_KARTOTEKA, a.CENAN, a.CENAB, k.NAZWASKR, k.INDEKS, s.WARTOSC }; LstCennik.Clear(); _lstItem.Clear(); _lstItem = Context.IHP_CENNIK.Where(x => x.ID_IHP_DEFCENY == id_defceny).ToList(); foreach (var item in query) { CennikView cc = new CennikView() { ID_IHP_CENNIK = item.ID_IHP_CENNIK, NAZWASKR = item.NAZWASKR, INDEKS = item.INDEKS, CENAN = item.CENAN, CENAB = item.CENAB, ID_IHP_KARTOTEKA = item.ID_IHP_KARTOTEKA, ID_IHP_DEFCENY = item.ID_IHP_DEFCENY, VAT = item.WARTOSC }; LstCennik.Add(cc); } RisePropertyChanged("LstCennik"); }
private void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { decimal cenaold = 0; string LastMessage; try { CennikView row = (CennikView)sender; if (_oldrow != null) { if (_oldrow.ID_IHP_CENNIK == row.ID_IHP_CENNIK) { { //if (_defceny.ODNETTO == 1) //{ // if (_oldrow.CENAB == row.CENAB)&& (_oldrow.CENAN == row.CENAB)) // return; //} //if (_defceny.ODNETTO == 0) //{ if ((_oldrow.CENAN == row.CENAN) && (_oldrow.CENAB == row.CENAB)) { return; } } } } decimal Cenanetto = row.CENAN; int vat = row.VAT; decimal wartvat = 0; decimal vatvalue = 0m; decimal Cenabrutto = row.CENAB; if (vat > 0) { if (_defceny.ODNETTO == 1) { wartvat = (Cenanetto * vat) / 100; Cenabrutto = Cenanetto + wartvat; Cenabrutto = Math.Round(Cenabrutto, 2); _oldrow = new CennikView() { ID_IHP_CENNIK = row.ID_IHP_CENNIK, CENAB = Cenabrutto, CENAN = Cenanetto }; _lstcennik.FirstOrDefault(x => x.ID_IHP_CENNIK == row.ID_IHP_CENNIK).CENAB = Cenabrutto; } if (_defceny.ODNETTO == 0) { vatvalue = (Convert.ToDecimal(vat) / 100); vatvalue = 1 + vatvalue; Cenanetto = Cenabrutto / vatvalue; Cenanetto = Math.Round(Cenanetto, 2); wartvat = Cenabrutto - Cenanetto; _oldrow = new CennikView() { ID_IHP_CENNIK = row.ID_IHP_CENNIK, CENAN = Cenanetto, CENAB = Cenabrutto }; _lstcennik.FirstOrDefault(x => x.ID_IHP_CENNIK == row.ID_IHP_CENNIK).CENAN = Cenanetto; } } else { Cenabrutto = Cenanetto; } IHP_CENNIK cena = Context.IHP_CENNIK.Where(x => x.ID_IHP_CENNIK == row.ID_IHP_CENNIK).SingleOrDefault(); //wysylamy w eter if (cena != null) { _lstItem.FirstOrDefault(x => x.ID_IHP_CENNIK == row.ID_IHP_CENNIK).CENAN = Cenanetto; _lstItem.FirstOrDefault(x => x.ID_IHP_CENNIK == row.ID_IHP_CENNIK).CENAB = Cenabrutto; Messenger.Default.Send <List <IHP_CENNIK> >(_lstItem); } //zapisuejmy do bazy if (cena != null) { cena.CENAB = row.CENAB; cena.CENAN = row.CENAN; DodajHistoria(row.CENAN); Context.IHP_CENNIK.Attach(cena); Context.Entry(cena).State = EntityState.Modified; Context.SaveChanges(); LoadCollectionHist(); } } catch (Exception ex) { LastMessage = ex.ToString(); LogManager.WriteLogMessage(LogManager.LogType.Error, LastMessage); throw ex; } }