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; }
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); } }
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)); }