public DdsSallesViewModel(DdsDnevnikModel ddsmodel) { ddsDnevnikModel = ddsmodel; KindDocLookup = new ObservableCollection <LookUpSpecific>(context.GetAllDocTypes()); SelectedLookup = new ObservableCollection <ContragentInfo>(); ActivityTypeLookup = new ObservableCollection <LookUpSpecific> { new LookUpSpecific { CodetId = "01", Id = 1, Name = "Покупки" }, new LookUpSpecific { CodetId = "02", Id = 2, Name = "Продажби" }, new LookUpSpecific { CodetId = "03", Id = 3, Name = "Други" }, }; this.Lookups = new ObservableCollection <LookUpMetaData>(context.GetAllLookups(" where NAMEENG='k'")); AllFields = new ObservableCollection <DdsDnevnicItem>(); foreach (var items in ddsDnevnikModel.DetailItems) { AllFields.Add(new DdsDnevnicItem(items)); } if (ddsmodel.LookupID > 0) { Lookup = Lookups.FirstOrDefault(e => e.Id == ddsmodel.LookupID); } if (ddsmodel.LookupElementID > 0) { LookupElementInfo = SelectedLookup.FirstOrDefault(e => e.Id == ddsmodel.LookupElementID); } }
private void SaveDdsDnevnicModel(DdsDnevnikModel ddsDnevnikModel) { DBManager.CreateParameters(20); DBManager.AddParameters(0, "@NOM", ddsDnevnikModel.Num); DBManager.AddParameters(1, "@BRANCH", ddsDnevnikModel.Branch); DBManager.AddParameters(2, "@DOCN", ddsDnevnikModel.DocId); DBManager.AddParameters(3, "@DATADOC", ddsDnevnikModel.Date); DBManager.AddParameters(4, "@KINDACTIVITY", ddsDnevnikModel.KindActivity); DBManager.AddParameters(5, "@KINDDOC", ddsDnevnikModel.KindDoc); DBManager.AddParameters(6, "@STOKE", ddsDnevnikModel.Stoke); DBManager.AddParameters(7, "@BULSTAD", ddsDnevnikModel.Bulstat); DBManager.AddParameters(8, "@NZDDS", ddsDnevnikModel.Nzdds); DBManager.AddParameters(9, "@LOOKUPID", ddsDnevnikModel.LookupID); DBManager.AddParameters(10, "@LOOKUPELEMENTID", ddsDnevnikModel.LookupElementID); DBManager.AddOutputParameters(11, "@NEWID", ddsDnevnikModel.Id); DBManager.AddParameters(12, "@NAMEKONTR", ddsDnevnikModel.NameKontr); DBManager.AddParameters(13, "@SUMA", ddsDnevnikModel.Suma); DBManager.AddParameters(14, "@DDSSUMA", ddsDnevnikModel.SumaDDS); DBManager.AddParameters(15, "@CODEDOC", ddsDnevnikModel.CodeDoc); DBManager.AddParameters(16, "@DATAF", ddsDnevnikModel.DataF); DBManager.AddParameters(17, "@A8", ddsDnevnikModel.A8); DBManager.AddParameters(18, "@CLNUM", ddsDnevnikModel.ClNum); DBManager.AddParameters(19, "@ISSUMA", ddsDnevnikModel.IsSuma); DBManager.ExecuteNonQuery(CommandType.StoredProcedure, "ADDDDSDNEV"); ddsDnevnikModel.Id = (int)DBManager.Parameters[11].Value; DBManager.ExecuteNonQuery(CommandType.Text, string.Format("Delete from DDSDNEVTOFIELDS d where d.IDDDSDNEV={0}", ddsDnevnikModel.Id)); foreach (var item in ddsDnevnikModel.DetailItems) { string command = string.Format( "INSERT INTO DDSDNEVTOFIELDS (IDDDSDNEV, IDDDSFIELD, SUMADDS, SUMAWITHDDS,DDS,DDSP) VALUES ({0},{1},{2},{3},{4},{5})", ddsDnevnikModel.Id, item.Id, item.DdsSuma.ToString(Vf.LevFormatUI), item.DdsTotal.ToString(Vf.LevFormatUI), item.Dds.ToString(Vf.LevFormatUI), item.DdsPercent.ToString(Vf.LevFormatUI)); DBManager.ExecuteNonQuery(CommandType.Text, command); } }
public DdsSellsView(DdsDnevnikModel model, DdsDnevnicItem item, DdsViewModel.RefreshElement vmRefreshExecuted, DdsViewModel.RefreshElement vmSavedExecuted, DdsViewModel.CancelSaveElement vmCanelExecuted) { vm = new DdsViewModel(model, item); vm.RefreshExecuted += vmRefreshExecuted; vm.DdsSaved += vmSavedExecuted; vm.CancelSave += vmCanelExecuted; InitializeComponent(); this.DataContext = vm; }
public DdsViewModel(DdsDnevnikModel ddsmodel) { ddsDnevnikModel = ddsmodel; KindDocLookup = new ObservableCollection <LookUpSpecific>(Context.GetAllDocTypes()); if (ddsDnevnikModel.CodeDoc == null) { ddsDnevnikModel.CodeDoc = "01"; } KindDoc = KindDocLookup.FirstOrDefault(e => e.CodetId == ddsDnevnikModel.CodeDoc); ActivityTypeLookup = new ObservableCollection <LookUpSpecific> { new LookUpSpecific { CodetId = "01", Id = 1, Name = "Покупки" }, new LookUpSpecific { CodetId = "02", Id = 2, Name = "Продажби" }, new LookUpSpecific { CodetId = "03", Id = 3, Name = "Други" }, }; this.Lookups = new ObservableCollection <LookUpMetaData>(Context.GetAllLookups(" where NAMEENG='k'")); AllFields = new ObservableCollection <DdsDnevnicItem>(); foreach (var items in ddsDnevnikModel.DetailItems) { AllFields.Add(new DdsDnevnicItem(items)); } if (ddsmodel.LookupID > 0) { Lookup = Lookups.FirstOrDefault(e => e.Id == ddsmodel.LookupID); if (Lookup == null) { Lookup = ddsmodel.KindActivity == 2 ? Lookups.FirstOrDefault(e => e.Name == "Клиенти") : Lookups.FirstOrDefault(e => e.Name == "Доставчици"); ddsmodel.LookupElementID = 0; } } else { Lookup = ddsmodel.KindActivity == 2 ? Lookups.FirstOrDefault(e => e.Name == "Клиенти") : Lookups.FirstOrDefault(e => e.Name == "Доставчици"); } if (SelectedItem == null) { SelectedItem = new SaldoItem(); } SelectedItem.Value = ddsDnevnikModel.ClNum; Bustad = ddsDnevnikModel.Bulstat; DdsId = ddsDnevnikModel.Nzdds; ClName = ddsDnevnikModel.NameKontr; if (Lookup != null) { SelectedItem.Name = Lookup.Name; } OnPropertyChanged("SelectedItem"); ddsDnevnikModel.Total = ddsDnevnikModel.DetailItems.Sum(e => e.DdsSuma).ToString(Vf.LevFormatUI); }
private void Sells() { DdsDnevnikModel ddsDnevnikModel = Context.LoadDenevnicItem(CurrentWraperConto.CurrentConto.Id, 0); ddsDnevnikModel.DocId = CurrentWraperConto.CurrentConto.DocNum; ddsDnevnikModel.Date = CurrentWraperConto.CurrentConto.Data; ddsDnevnikModel.KindActivity = 1; ddsDnevnikModel.CodeDoc = Kd; ddsDnevnikModel.Stoke = CurrentWraperConto.CurrentConto.Reason; ddsDnevnikModel.Title = "Дневник покупки"; DdsSellsView dialog = new DdsSellsView(ddsDnevnikModel, DddDelete, DdsSaved, DdsCancel); dialog.ShowDialog(); }
private void SaveDds(WrapConto CurrentConto) { if (CurrentConto.TypeDds == 0) { return; } DdsDnevnikModel ddsDnevnikModel = new DdsDnevnikModel(); ddsDnevnikModel.DetailItems = new List <DdsItemModel>(GetAllDnevItems(CurrentConto.TypeDds)); var item = ddsDnevnikModel.DetailItems.FirstOrDefault(e => e.Code == "ДК"); if (item != null) { item.Dds = CurrentConto.Conto.Oborot; if (CurrentConto.Suma > 0) { item.DdsSuma = CurrentConto.Suma; } else { item.DdsSuma = item.Dds * (item.DdsPercent / 100); } } ddsDnevnikModel.Date = CurrentConto.Conto.Data; ddsDnevnikModel.DataF = CurrentConto.Conto.Data; ddsDnevnikModel.DocId = CurrentConto.Fn; ddsDnevnikModel.KindActivity = CurrentConto.TypeDds; ddsDnevnikModel.Nzdds = CurrentConto.Bulstad; ddsDnevnikModel.Bulstat = CurrentConto.Bulstad; ddsDnevnikModel.NameKontr = CurrentConto.Cn; ddsDnevnikModel.KindDoc = 1; ddsDnevnikModel.CodeDoc = "01"; ddsDnevnikModel.A8 = 0; ddsDnevnikModel.IsSuma = 0; ddsDnevnikModel.Num = CurrentConto.Conto.Id; SaveDdsDnevnicModel(ddsDnevnikModel); }
public static void SaveDdsDnevnicModel(DdsDnevnikModel ddsDnevnikModel, bool isedit) { var dbman = new DBManager(DataProvider.Firebird); dbman.ConnectionString = Entrence.ConnectionString; try { dbman.Open(); dbman.BeginTransaction(); dbman.CreateParameters(20); dbman.AddParameters(0, "@NOM", ddsDnevnikModel.Num); dbman.AddParameters(1, "@BRANCH", ddsDnevnikModel.Branch); dbman.AddParameters(2, "@DOCN", ddsDnevnikModel.DocId); dbman.AddParameters(3, "@DATADOC", ddsDnevnikModel.Date); dbman.AddParameters(4, "@KINDACTIVITY", ddsDnevnikModel.KindActivity); dbman.AddParameters(5, "@KINDDOC", ddsDnevnikModel.KindDoc); dbman.AddParameters(6, "@STOKE", ddsDnevnikModel.Stoke); dbman.AddParameters(7, "@BULSTAD", ddsDnevnikModel.Bulstat); dbman.AddParameters(8, "@NZDDS", ddsDnevnikModel.Nzdds); dbman.AddParameters(9, "@LOOKUPID", ddsDnevnikModel.LookupID); dbman.AddParameters(10, "@LOOKUPELEMENTID", ddsDnevnikModel.LookupElementID); dbman.AddOutputParameters(11, "@NEWID", ddsDnevnikModel.Id); dbman.AddParameters(12, "@NAMEKONTR", ddsDnevnikModel.NameKontr); dbman.AddParameters(13, "@SUMA", ddsDnevnikModel.Suma); dbman.AddParameters(14, "@DDSSUMA", ddsDnevnikModel.SumaDDS); dbman.AddParameters(15, "@CODEDOC", ddsDnevnikModel.CodeDoc); dbman.AddParameters(16, "@DATAF", ddsDnevnikModel.DataF); dbman.AddParameters(17, "@A8", ddsDnevnikModel.A8); dbman.AddParameters(18, "@CLNUM", ddsDnevnikModel.ClNum); dbman.AddParameters(19, "@ISSUMA", ddsDnevnikModel.IsSuma); dbman.ExecuteNonQuery(CommandType.StoredProcedure, "ADDDDSDNEV"); ddsDnevnikModel.Id = (int)dbman.Parameters[11].Value; if (isedit) { dbman.ExecuteNonQuery(CommandType.Text, string.Format("Delete from DDSDNEVTOFIELDS d where d.IDDDSDNEV={0}", ddsDnevnikModel.Id)); } foreach (var item in ddsDnevnikModel.DetailItems) { if (!item.In) { continue; } string command = string.Format( "INSERT INTO DDSDNEVTOFIELDS (IDDDSDNEV, IDDDSFIELD, SUMADDS, SUMAWITHDDS,DDS,DDSP) VALUES ({0},{1},{2},{3},{4},{5})", ddsDnevnikModel.Id, item.Id, item.DdsSuma.ToString(Vf.LevFormatUI), item.DdsTotal.ToString(Vf.LevFormatUI), item.Dds.ToString(Vf.LevFormatUI), item.DdsPercent.ToString(Vf.LevFormatUI)); dbman.ExecuteNonQuery(CommandType.Text, command); } dbman.CommitTransaction(); } catch (Exception ex) { Logger.Instance().WriteLogError(ex.Message, "public static void SaveDdsDnevnicModel(DdsDnevnikModel ddsDnevnikModel)"); dbman.RollBackTransaction(); } finally { dbman.Dispose(); } }
public static DdsDnevnikModel LoadDenevnicItem(int contoId, int type) { DdsDnevnikModel result = new DdsDnevnikModel(); result.Num = contoId; var dbman = new DBManager(DataProvider.Firebird); dbman.ConnectionString = Entrence.ConnectionString; try { bool master = false; dbman.Open(); string command = string.Format("SELECT * FROM DDSDNEV where NOM={0} and KINDACTIVITY={1}", contoId, type); dbman.ExecuteReader(CommandType.Text, command); if (dbman.DataReader.Read()) { result.Id = int.Parse(dbman.DataReader["Id"].ToString()); result.Branch = dbman.DataReader["BRANCH"].ToString(); result.Date = DateTime.Parse(dbman.DataReader["DATADOC"].ToString()); result.DataF = DateTime.Parse(dbman.DataReader["DATAF"].ToString()); result.DocId = dbman.DataReader["DOCN"].ToString(); result.KindActivity = int.Parse(dbman.DataReader["KINDACTIVITY"].ToString()); result.KindDoc = int.Parse(dbman.DataReader["KINDDOC"].ToString()); result.Stoke = dbman.DataReader["STOKE"].ToString(); result.LookupElementID = int.Parse(dbman.DataReader["LOOKUPELEMENTID"].ToString()); result.LookupID = int.Parse(dbman.DataReader["LOOKUPID"].ToString()); result.Suma = Decimal.Parse(dbman.DataReader["SUMA"].ToString()); result.SumaDDS = Decimal.Parse(dbman.DataReader["DDSSUMA"].ToString()); result.NameKontr = dbman.DataReader["NAMEKONTR"].ToString(); result.CodeDoc = dbman.DataReader["CODEDOC"].ToString(); result.Nzdds = dbman.DataReader["NZDDS"].ToString(); result.Bulstat = dbman.DataReader["BULSTAD"].ToString(); result.ClNum = dbman.DataReader["CLNUM"].ToString(); int val; result.A8 = int.TryParse(dbman.DataReader["A8"].ToString(), out val)?val:0; result.IsSuma = int.TryParse(dbman.DataReader["ISSUMA"].ToString(), out val) ? val : 0; master = true; result.IsLinked = true; } dbman.DataReader.Close(); if (master) { string typednev = "DDSDNEVFIELDS"; if (type == 1) { typednev = "DDSDNEVSELLSFIELDS"; } command = string.Format("SELECT * FROM {0} a inner join DDSDNEVTOFIELDS m on a.ID=m.IDDDSFIELD where m.IDDDSDNEV={1}", typednev, result.Id); dbman.ExecuteReader(CommandType.Text, command); while (dbman.DataReader.Read()) { var n = new DdsItemModel { Name = dbman.DataReader["NAME"].ToString(), Id = int.Parse(dbman.DataReader["IDDDSFIELD"].ToString()), Code = dbman.DataReader["CODE"].ToString(), IsNotComputed = true, In = true }; n.DdsPercent = decimal.Parse(dbman.DataReader["DDSP"].ToString()); n.DdsSuma = decimal.Parse(dbman.DataReader["SUMADDS"].ToString()); n.Dds = decimal.Parse(dbman.DataReader["DDS"].ToString()); n.DdsTotal = decimal.Parse(dbman.DataReader["SUMAWITHDDS"].ToString()); n.IsNotComputed = false; result.DetailItems.Add(n); } dbman.DataReader.Close(); } else { string typednev = "DDSDNEVFIELDS"; if (type == 1) { typednev = "DDSDNEVSELLSFIELDS"; } command = string.Format("SELECT * FROM {0}", typednev); dbman.ExecuteReader(CommandType.Text, command); while (dbman.DataReader.Read()) { result.DetailItems.Add(new DdsItemModel { DdsPercent = int.Parse(dbman.DataReader["DDSPERCENT"].ToString()), Name = dbman.DataReader["NAME"].ToString(), Id = int.Parse(dbman.DataReader["ID"].ToString()), Code = dbman.DataReader["CODE"].ToString(), IsNotComputed = false, }); } //command = //string.Format("SELECT * FROM DDSDNEVFIELDS a where a.\"TYPE\"={0}", typednev); //dbman.ExecuteReader(CommandType.Text, command); //while (dbman.DataReader.Read()) //{ // result.DetailItems.Add(new DdsItemModel // { // DdsPercent = int.Parse(dbman.DataReader["DDSPERCENT"].ToString()), // DdsSuma =0, // Name = dbman.DataReader["NAME"].ToString(), // Id = int.Parse(dbman.DataReader["ID"].ToString()) // }); //} dbman.DataReader.Close(); } } catch (Exception e) { Logger.Instance().WriteLogError(e.Message, "public static DdsDnevnikModel LoadDenevnicItem(int contoId,int type)"); } finally { dbman.Dispose(); } return(result); }
private void UpdateRelatedDds() { if (MessageBoxWrapper.Show("Запази стари стойности в дневник?", "Предупреждение", MessageBoxWrapperButton.YesNo) == MessageBoxWrapperResult.Yes) { return; } bool haschange = false; DdsDnevnikModel ddsDnevnikModel = Context.LoadDenevnicItem(CurrentWraperConto.CurrentConto.Id, 1); ddsDnevnikModel.CodeDoc = Kd; ddsDnevnikModel.Stoke = CurrentWraperConto.CurrentConto.Reason; ddsDnevnikModel.Date = CurrentWraperConto.CurrentConto.Data; if (ItemsDebit != null && (ItemsCredit != null && (ItemsCredit.Count == 0 && ItemsDebit.Count == 0))) { ddsDnevnikModel.DataF = CurrentWraperConto.CurrentConto.Data; } if (ddsDnevnikModel.IsLinked) { foreach (SaldoItem saldoItem in ItemsDebit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = 0; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } foreach (SaldoItem saldoItem in ItemsCredit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = 0; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } var vm = new DdsViewModel(ddsDnevnikModel, new DdsDnevnicItem { DdsPercent = CurrItemDdsDnevPurchases.DdsPercent, DdsSuma = CurrentWraperConto.Oborot, Name = CurrItemDdsDnevPurchases.Name, In = true }); vm.SaveFromOutside(); haschange = true; } ddsDnevnikModel = Context.LoadDenevnicItem(CurrentWraperConto.CurrentConto.Id, 2); ddsDnevnikModel.CodeDoc = Kd; ddsDnevnikModel.Stoke = CurrentWraperConto.CurrentConto.Reason; ddsDnevnikModel.Date = CurrentWraperConto.CurrentConto.Data; if (ItemsDebit != null && (ItemsCredit != null && (ItemsCredit.Count == 0 && ItemsDebit.Count == 0))) { ddsDnevnikModel.DataF = CurrentWraperConto.CurrentConto.Data; } if (ddsDnevnikModel.IsLinked) { foreach (SaldoItem saldoItem in ItemsCredit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = 0; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } foreach (SaldoItem saldoItem in ItemsDebit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = 0; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } var vm = new DdsViewModel(ddsDnevnikModel, new DdsDnevnicItem { DdsPercent = CurrItemDdsDnevSales.DdsPercent, DdsSuma = CurrentWraperConto.Oborot, Name = CurrItemDdsDnevSales.Name, In = true }); vm.SaveFromOutside(); haschange = true; } if (haschange) { MessageBoxWrapper.Show(Resources.ContoViewModel_UpdateRelatedDds_Message, Resources.ContoViewModel_UpdateRelatedDds_Title); } }
public DdsViewModel(DdsDnevnikModel ddsmodel, DdsDnevnicItem item) { ddsDnevnikModel = ddsmodel; KindDocLookup = new ObservableCollection <LookUpSpecific>(Context.GetAllDocTypes()); if (ddsDnevnikModel.CodeDoc == null) { ddsDnevnikModel.CodeDoc = "01"; } KindDoc = KindDocLookup.FirstOrDefault(e => e.CodetId == ddsDnevnikModel.CodeDoc); ActivityTypeLookup = new ObservableCollection <LookUpSpecific> { new LookUpSpecific { CodetId = "01", Id = 1, Name = "Покупки" }, new LookUpSpecific { CodetId = "02", Id = 2, Name = "Продажби" }, new LookUpSpecific { CodetId = "03", Id = 3, Name = "Други" }, }; this.Lookups = new ObservableCollection <LookUpMetaData>(Context.GetAllLookups(" where NAMEENG='k'")); AllFields = new ObservableCollection <DdsDnevnicItem>(); foreach (var litem in ddsDnevnikModel.DetailItems) { if (ddsDnevnikModel.IsSuma == 0) { if (litem.Name == item.Name) { if (litem.DdsSuma > 0 && litem.DdsSuma != item.DdsSuma) { _kor = true; _oldsum = litem.DdsSuma.ToString(Vf.LevFormatUI); } else { _kor = false; } litem.DdsSuma = item.DdsSuma; litem.In = true; } } else { if (!ddsDnevnikModel.IsLinked) { if (litem.Name == item.Name) { litem.DdsSuma = item.DdsSuma; ddsDnevnikModel.Total = item.DdsSuma.ToString(Vf.LevFormatUI); litem.In = true; } } } AllFields.Add(new DdsDnevnicItem(litem)); } if (ddsmodel.LookupID > 0) { Lookup = Lookups.FirstOrDefault(e => e.Id == ddsmodel.LookupID); if (Lookup == null) { Lookup = ddsmodel.KindActivity == 2 ? Lookups.FirstOrDefault(e => e.Name == "Клиенти") : Lookups.FirstOrDefault(e => e.Name == "Доставчици"); ddsmodel.LookupElementID = 0; } } else { Lookup = ddsmodel.KindActivity == 2 ? Lookups.FirstOrDefault(e => e.Name == "Клиенти") : Lookups.FirstOrDefault(e => e.Name == "Доставчици"); } if (ddsmodel.LookupElementID > 0) { string SerachedField = ""; if (Lookup != null) { SerachedField = Context.GetLookup(Lookup.Id).Fields[0].NameEng; } var list = Context.GetLookupDictionary(_lookUpMetaData.Tablename, ConfigTempoSinglenton.GetInstance().CurrentFirma.Id, string.Format("And \"{0}\"={1}", SerachedField, ddsmodel.LookupElementID)); foreach (var li in list) { if (li != null) { if (li.ContainsKey("Name")) { SelectedItem.Lookupval = li["Name"].ToString(); ClName = SelectedItem.Lookupval; } if (li.ContainsKey("VAT")) { DdsId = li["VAT"].ToString(); } if (li.ContainsKey("BULSTAT")) { Bustad = li["BULSTAT"].ToString(); } if (li.ContainsKey("KONTRAGENT")) { SelectedItem.Value = li["KONTRAGENT"].ToString(); } } } } else { if (ddsmodel.ClNum != null) { string SerachedField = ""; if (Lookup != null) { SerachedField = Context.GetLookup(Lookup.Id).Fields[1].NameEng; } var list = Context.GetLookupDictionary(_lookUpMetaData.Tablename, ConfigTempoSinglenton.GetInstance().CurrentFirma.Id, string.Format("And \"{0}\"={1}", SerachedField, ddsmodel.ClNum)); foreach (var li in list) { if (li != null) { if (li.ContainsKey("Name")) { SelectedItem.Lookupval = li["Name"].ToString(); ClName = SelectedItem.Lookupval; } if (li.ContainsKey("VAT")) { DdsId = li["VAT"].ToString(); } if (li.ContainsKey("BULSTAT")) { Bustad = li["BULSTAT"].ToString(); } if (li.ContainsKey("KONTRAGENT")) { SelectedItem.Value = li["KONTRAGENT"].ToString(); } if (li.ContainsKey("Id")) { int id; ddsDnevnikModel.LookupElementID = int.TryParse(li["Id"].ToString(), out id)?id:0; } } } } } }
public void PopulateConto() { Entrence.ConnectionString = "User ID=sysdba;Password=masterkey;Database=localhost:E:\\Samples\\Tempo2012MVVM\\Tempo2012\\Tempo2012.UI.WPF\\bin\\Debug\\data\\TEMPO2012.FDB;DataSource=localhost;"; ObservableCollection <SaldoItem> ItemsCredit = new ObservableCollection <SaldoItem>(); ObservableCollection <SaldoItem> ItemsDebit = new ObservableCollection <SaldoItem>(); Tempo2012.EntityFramework.TempoDataBaseContext context = new Tempo2012.EntityFramework.TempoDataBaseContext(); ObservableCollection <WraperConto> AllWrapedConto = new ObservableCollection <WraperConto>(); var AllAccountsK = new ObservableCollection <AccountsModel>( context.GetAllAccounts(1)); var Lookups = new ObservableCollection <LookUpMetaData>(context.GetAllLookups(" where NAMEENG='k'")); var allconto = context.GetAllConto(1); foreach (Conto conto in allconto) { var cont = conto.Clone(); cont.DataInvoise.AddDays(1); AllWrapedConto.Add(new WraperConto(cont)); } foreach (WraperConto wraperConto in AllWrapedConto) { ItemsCredit = new ObservableCollection <SaldoItem>(LoadDetails(wraperConto.CurrentConto.Id, 2, context)); ItemsDebit = new ObservableCollection <SaldoItem>(LoadDetails(wraperConto.CurrentConto.Id, 1, context)); var oldid = wraperConto.Id; List <SaldoAnaliticModel> debit = new List <SaldoAnaliticModel>(); List <SaldoAnaliticModel> credit = new List <SaldoAnaliticModel>(); if (ItemsCredit != null) { foreach (SaldoItem currentsaldos in ItemsCredit) { SaldoAnaliticModel sa = new SaldoAnaliticModel(); sa.ACCFIELDKEY = currentsaldos.Fieldkey; sa.ACCID = wraperConto.CurrentConto.CreditAccount; sa.DATA = wraperConto.CurrentConto.DataInvoise; sa.TYPEACCKEY = 0; sa.VALUEDATE = currentsaldos.ValueDate; sa.VAL = currentsaldos.Value; sa.VALUEMONEY = currentsaldos.Valuedecimal; sa.VALUENUM = currentsaldos.ValueInt; sa.VALUED = currentsaldos.Valuedecimald; sa.KURS = currentsaldos.IsKol?currentsaldos.OnePrice:currentsaldos.ValueKurs; sa.VALVAL = currentsaldos.IsKol?currentsaldos.ValueKol:currentsaldos.ValueVal; sa.KURSM = currentsaldos.MainKurs; sa.KURSD = currentsaldos.KursDif; sa.TYPE = 2; sa.LOOKUPID = currentsaldos.Relookup; sa.CONTOID = wraperConto.CurrentConto.Id; //context.SaveContoMovement(sa); debit.Add(sa); } } if (ItemsDebit != null) { foreach (SaldoItem currentsaldos in ItemsDebit) { SaldoAnaliticModel sa = new SaldoAnaliticModel(); sa.ACCFIELDKEY = currentsaldos.Fieldkey; sa.ACCID = wraperConto.CurrentConto.DebitAccount; sa.DATA = DateTime.Now; sa.TYPEACCKEY = 0; sa.VALUEDATE = currentsaldos.ValueDate; sa.VAL = currentsaldos.Value; sa.VALUEMONEY = currentsaldos.Valuedecimal; sa.VALUENUM = currentsaldos.ValueInt; sa.VALUED = currentsaldos.Valuedecimald; sa.KURS = currentsaldos.IsKol ? currentsaldos.OnePrice : currentsaldos.ValueKurs; sa.VALVAL = currentsaldos.IsKol ? currentsaldos.ValueKol : currentsaldos.ValueVal; sa.KURSM = currentsaldos.MainKurs; sa.KURSD = currentsaldos.KursDif; sa.TYPE = 1; sa.LOOKUPID = currentsaldos.Relookup; sa.CONTOID = wraperConto.CurrentConto.Id; credit.Add(sa); // context.SaveContoMovement(sa); } } context.SaveConto(wraperConto.CurrentConto, debit, credit); #region sells if (wraperConto.IsSales) { DdsDnevnikModel ddsDnevnikModel = context.LoadDenevnicItem(oldid, 2); //ddsDnevnikModel.DocId = CurrentWraperConto.CurrentConto.DocNum; ddsDnevnikModel.Date = wraperConto.CurrentConto.Data; ddsDnevnikModel.KindActivity = 2; if (ddsDnevnikModel.LookupID == 0) { ddsDnevnikModel.CodeDoc = "01"; if (wraperConto.IsPurchases) { foreach (SaldoItem saldoItem in ItemsCredit) { if (saldoItem.IsLookUp) { ddsDnevnikModel.LookupID = saldoItem.Relookup; if (saldoItem.SelectedLookupItem != null) { int lokalkey; if (int.TryParse(saldoItem.SelectedLookupItem.Key, out lokalkey)) { ddsDnevnikModel.LookupElementID = lokalkey; } } } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } else { foreach (SaldoItem saldoItem in ItemsDebit) { if (saldoItem.IsLookUp) { ddsDnevnikModel.LookupID = saldoItem.Relookup; if (saldoItem.SelectedLookupItem != null) { int lokalkey; if (int.TryParse(saldoItem.SelectedLookupItem.Key, out lokalkey)) { ddsDnevnikModel.LookupElementID = lokalkey; } } } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } } if (ddsDnevnikModel.LookupID > 0) { var SelectedLookup = new ObservableCollection <ContragentInfo>(); var Lookup = Lookups.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupID); var list = context.GetLookup(Lookup.Tablename, 1); foreach (List <string> li in list) { if (li != null && li.Count > 5) { SelectedLookup.Add(new ContragentInfo { Id = int.Parse(li[1]), Name = li[2], Bulstad = li[4], Nzdds = li[5] }); } } if (ddsDnevnikModel.LookupElementID > 0) { LookupElementInfo = SelectedLookup.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupElementID); ddsDnevnikModel.Num = wraperConto.CurrentConto.Id; if (LookupElementInfo != null) { ddsDnevnikModel.LookupElementID = LookupElementInfo.Id; ddsDnevnikModel.Bulstat = LookupElementInfo.Bulstad; ddsDnevnikModel.Nzdds = LookupElementInfo.Nzdds; ddsDnevnikModel.NameKontr = LookupElementInfo.Name; } } } ddsDnevnikModel.Num = wraperConto.CurrentConto.Id; context.SaveDdsDnevnicModel(ddsDnevnikModel, ddsDnevnikModel.IsLinked); } #endregion #region purchases if (wraperConto.IsPurchases) { var ddsDnevnikModel = context.LoadDenevnicItem(oldid, 1); //ddsDnevnikModel.DocId = CurrentWraperConto.CurrentConto.DocNum; ddsDnevnikModel.Date = wraperConto.CurrentConto.Data; ddsDnevnikModel.KindActivity = 1; if (ddsDnevnikModel.LookupID == 0) { foreach (SaldoItem saldoItem in ItemsCredit) { if (saldoItem.IsLookUp) { ddsDnevnikModel.LookupID = saldoItem.Relookup; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } if (ddsDnevnikModel.LookupID > 0) { var SelectedLookup = new ObservableCollection <ContragentInfo>(); var Lookup = Lookups.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupID); var list = context.GetLookup(Lookup.Tablename, 1); foreach (List <string> li in list) { if (li != null && li.Count > 5) { SelectedLookup.Add(new ContragentInfo { Id = int.Parse(li[1]), Name = li[2], Bulstad = li[4], Nzdds = li[5] }); } } if (ddsDnevnikModel.LookupElementID > 0) { LookupElementInfo = SelectedLookup.FirstOrDefault(e => e.Id == ddsDnevnikModel.LookupElementID); ddsDnevnikModel.Num = wraperConto.CurrentConto.Id; if (LookupElementInfo != null) { ddsDnevnikModel.LookupElementID = LookupElementInfo.Id; ddsDnevnikModel.Bulstat = LookupElementInfo.Bulstad; ddsDnevnikModel.Nzdds = LookupElementInfo.Nzdds; ddsDnevnikModel.NameKontr = LookupElementInfo.Name; } } } ddsDnevnikModel.Num = wraperConto.CurrentConto.Id; context.SaveDdsDnevnicModel(ddsDnevnikModel, ddsDnevnikModel.IsLinked); } #endregion } }
private static decimal SaveDDS(TempoDataBaseContext context, ContoAll allconto) { var itemsDdsDnevPurchases = new List <DdsItemModel>(context.GetAllDnevItems(1)); var itemsDdsDnevSales = new List <DdsItemModel>(context.GetAllDnevItems(0)); var currItemDdsDnevPurchases = itemsDdsDnevPurchases.FirstOrDefault(e => e.Code == allconto.KindDds); var currItemDdsDnevSales = itemsDdsDnevSales.FirstOrDefault(e => e.Code == allconto.KindDds); int codeDnev = 2; if (allconto.KindDeal == "1") { codeDnev = 1; } DdsDnevnikModel ddsDnevnikModel = context.LoadDenevnicItem(allconto.Conto.Id, codeDnev); //ddsDnevnikModel.DocId = allconto.Conto.DocNum; ddsDnevnikModel.Date = allconto.Conto.Data; ddsDnevnikModel.DataF = allconto.Conto.Data; ddsDnevnikModel.KindActivity = codeDnev; ddsDnevnikModel.KindDoc = 1; ddsDnevnikModel.Title = codeDnev == 1 ? "Дневник покупки" : "Дневник продажби"; ddsDnevnikModel.CodeDoc = allconto.Conto.KD; ddsDnevnikModel.Stoke = allconto.Conto.Reason; ddsDnevnikModel.DdsIncluded = allconto.IsDdsInclude ? "ВКЛЮЧЕН ДДС" : "НЕВКЛЮЧЕН ДДС"; if (codeDnev == 2) { if (allconto.ItemsCredit != null) { foreach (SaldoItem saldoItem in allconto.ItemsCredit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = saldoItem.LiD; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } if (allconto.ItemsDebit != null) { foreach (SaldoItem saldoItem in allconto.ItemsDebit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = saldoItem.LiD; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } } else { if (allconto.ItemsDebit != null) { foreach (SaldoItem saldoItem in allconto.ItemsDebit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = saldoItem.LiD; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } if (allconto.ItemsDebit != null) { foreach (SaldoItem saldoItem in allconto.ItemsCredit) { if (saldoItem.IsLookUp && saldoItem.Name.Contains("Контрагент")) { ddsDnevnikModel.LookupID = saldoItem.Relookup; ddsDnevnikModel.LookupElementID = saldoItem.LiD; ddsDnevnikModel.ClNum = saldoItem.Value; } if (saldoItem.Name.Contains("Дата на фактура")) { ddsDnevnikModel.DataF = saldoItem.ValueDate; } if (saldoItem.Name.Contains("Номер фактура")) { ddsDnevnikModel.DocId = saldoItem.Value; } } } } if (allconto.ItemsCredit == null && allconto.ItemsDebit == null) { ddsDnevnikModel.DataF = DataFactura; ddsDnevnikModel.Bulstat = Bulstad; ddsDnevnikModel.Nzdds = Vat ?? Bulstad; ddsDnevnikModel.DocId = Factura; ddsDnevnikModel.LookupID = 17; ddsDnevnikModel.ClNum = CodeClient; } decimal ddspercent = 0; ddspercent = codeDnev == 1 ? currItemDdsDnevPurchases != null ? currItemDdsDnevPurchases.DdsPercent : 0 : currItemDdsDnevSales != null ? currItemDdsDnevSales.DdsPercent : 0; string name = codeDnev == 1 ? currItemDdsDnevPurchases != null ? currItemDdsDnevPurchases.Name : "" : currItemDdsDnevSales != null ? currItemDdsDnevSales.Name : ""; var vm = new DdsViewModel(ddsDnevnikModel, new DdsDnevnicItem { DdsPercent = ddspercent, DdsSuma = allconto.Conto.Oborot, Name = name, In = true }); vm.SaveCommand.Execute(null); return(Decimal.Round(allconto.Conto.Oborot * ddspercent / 100, 2)); }
public void SaveDdsDnevnicModel(DdsDnevnikModel ddsDnevnikModel) { RealDataContext.SaveDdsDnevnicModel(ddsDnevnikModel); }
public virtual void SaveDdsDnevnicModel(DdsDnevnikModel ddsDnevnikModel, bool isedit) { RealDataContext.SaveDdsDnevnicModel(ddsDnevnikModel, isedit); }