public void DisplayData() { BusinessPartnerDataLoading = true; BusinessPartnerListResponse response = new BusinessPartnerSQLiteRepository() .GetBusinessPartnersByPage(MainWindow.CurrentCompanyId, BusinessPartnerSearchObject, currentPage, itemsPerPage); if (response.Success) { BusinessPartnersFromDB = new ObservableCollection <BusinessPartnerViewModel>(response.BusinessPartners ?? new List <BusinessPartnerViewModel>()); totalItems = response.TotalItems; } else { BusinessPartnersFromDB = new ObservableCollection <BusinessPartnerViewModel>(); totalItems = 0; MainWindow.ErrorMessage = response.Message; } int itemFrom = totalItems != 0 ? (currentPage - 1) * itemsPerPage + 1 : 0; int itemTo = currentPage * itemsPerPage < totalItems ? currentPage * itemsPerPage : totalItems; PaginationDisplay = itemFrom + " - " + itemTo + " od " + totalItems; BusinessPartnerDataLoading = false; }
private void PopulateFromDb(string filterString = "") { Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { //new BusinessPartnerSQLiteRepository().Sync(businessPartnerService); BusinessPartnerListResponse businessPartnerResp = new BusinessPartnerSQLiteRepository().GetBusinessPartnersForPopup(MainWindow.CurrentCompanyId, filterString); if (businessPartnerResp.Success) { BusinessPartnersFromDB = new ObservableCollection<BusinessPartnerViewModel>(); foreach (var item in businessPartnerResp.BusinessPartners.Where(x => !String.IsNullOrEmpty(x.Name))) { BusinessPartnersFromDB.Add(item); } foreach (var item in businessPartnerResp.BusinessPartners.Where(x => !String.IsNullOrEmpty(x.NameGer))) { item.Name = item.NameGer; BusinessPartnersFromDB.Add(item); } } else BusinessPartnersFromDB = new ObservableCollection<BusinessPartnerViewModel>(); }) ); }
private void btnDelete_Click(object sender, RoutedEventArgs e) { if (CurrentBusinessPartner == null) { MainWindow.WarningMessage = "Morate odabrati firmu za brisanje!"; return; } SirmiumERPVisualEffects.AddEffectOnDialogShow(this); // Create confirmation window DeleteConfirmation deleteConfirmationForm = new DeleteConfirmation("firma", CurrentBusinessPartner.Name + CurrentBusinessPartner.Code); var showDialog = deleteConfirmationForm.ShowDialog(); if (showDialog != null && showDialog.Value) { BusinessPartnerResponse response = businessPartnerService.Delete(CurrentBusinessPartner.Identifier); if (!response.Success) { MainWindow.ErrorMessage = "Greška kod brisanja sa servera!"; SirmiumERPVisualEffects.RemoveEffectOnDialogShow(this); return; } response = new BusinessPartnerSQLiteRepository().Delete(CurrentBusinessPartner.Identifier); if (!response.Success) { MainWindow.ErrorMessage = "Greška kod lokalnog brisanja!"; SirmiumERPVisualEffects.RemoveEffectOnDialogShow(this); return; } MainWindow.SuccessMessage = "Firma je uspešno obrisana!"; Thread displayThread = new Thread(() => PopulateData()); displayThread.IsBackground = true; displayThread.Start(); } // Remove blur effects SirmiumERPVisualEffects.RemoveEffectOnDialogShow(this); dgBusinessPartners.Focus(); }
public void DisplayBusinessPartnersData(ObservableCollection <BusinessPartnerByConstructionSiteViewModel> businessPartnersOnConstructionSites) { BusinessPartnerDataLoading = true; BusinessPartnerListResponse response = new BusinessPartnerSQLiteRepository() .GetBusinessPartnersByPage(MainWindow.CurrentCompanyId, new BusinessPartnerViewModel(), currentPage, Int32.MaxValue); if (response.Success) { List <BusinessPartnerViewModel> bps = response.BusinessPartners .Where(x => businessPartnersOnConstructionSites.Select(y => y.BusinessPartner.Identifier).Contains(x.Identifier)) .ToList(); BusinessPartnersFromDB = new ObservableCollection <BusinessPartnerViewModel>(bps); } else { BusinessPartnersFromDB = new ObservableCollection <BusinessPartnerViewModel>(); MainWindow.ErrorMessage = response.Message; } BusinessPartnerDataLoading = false; }
private void btnSync_Click(object sender, RoutedEventArgs e) { Thread th = new Thread(() => { BusinessPartnerButtonContent = " Sinhronizacija u toku... "; BusinessPartnerButtonEnabled = false; BusinessPartnerSQLiteRepository sqlLite = new BusinessPartnerSQLiteRepository(); SyncBusinessPartnerRequest request = new SyncBusinessPartnerRequest(); request.UnSyncedBusinessPartners = sqlLite.GetUnSyncedBusinessPartners().BusinessPartners; request.LastUpdatedAt = sqlLite.GetLastUpdatedAt(MainWindow.CurrentCompanyId); BusinessPartnerListResponse response = businessPartnerService.Sync(request); if (response.Success) { List <BusinessPartnerViewModel> businessPartnersFromDB = response.BusinessPartners; int total = businessPartnersFromDB.Count; int counter = 1; foreach (var businessPartner in businessPartnersFromDB.OrderBy(x => x.Id)) { BusinessPartnerButtonContent = " Sinhronizacija u toku " + counter++ + " od " + total; sqlLite.Delete(businessPartner.Identifier); businessPartner.IsSynced = true; sqlLite.Create(businessPartner); } MainWindow.SuccessMessage = "Podaci su uspešno sinhronizovani (" + businessPartnersFromDB.Count + ")!"; } PopulateData(); BusinessPartnerButtonContent = " Sinhronizacija lekova sa serverom "; BusinessPartnerButtonEnabled = true; }); th.IsBackground = true; th.Start(); }
private void btnSave_Click(object sender, RoutedEventArgs e) { #region Validation if (String.IsNullOrEmpty(CurrentBusinessPartner.Mobile)) { MainWindow.WarningMessage = "Morate uneti mobilni!"; return; } #endregion Thread th = new Thread(() => { SaveButtonContent = " Čuvanje u toku... "; SaveButtonEnabled = false; CurrentBusinessPartner.CreatedBy = new UserViewModel() { Id = MainWindow.CurrentUserId }; CurrentBusinessPartner.IsSynced = false; CurrentBusinessPartner.UpdatedAt = DateTime.Now; BusinessPartnerResponse response = new BusinessPartnerSQLiteRepository().Delete(CurrentBusinessPartner.Identifier); response = new BusinessPartnerSQLiteRepository().Create(CurrentBusinessPartner); if (!response.Success) { MainWindow.ErrorMessage = "Greška kod lokalnog čuvanja!"; SaveButtonContent = " Sačuvaj "; SaveButtonEnabled = true; return; } response = businessPartnerService.Create(CurrentBusinessPartner); if (!response.Success) { MainWindow.ErrorMessage = "Podaci su sačuvani u lokalu!. Greška kod čuvanja na serveru!"; SaveButtonContent = " Sačuvaj "; SaveButtonEnabled = true; } if (response.Success) { new BusinessPartnerSQLiteRepository().UpdateSyncStatus(response.BusinessPartner.Identifier, response.BusinessPartner.Id, true); MainWindow.SuccessMessage = "Podaci su uspešno sačuvani!"; SaveButtonContent = " Sačuvaj "; SaveButtonEnabled = true; BusinessPartnerCreatedUpdated(); if (IsCreateProcess) { CurrentBusinessPartner = new BusinessPartnerViewModel(); CurrentBusinessPartner.Identifier = Guid.NewGuid(); CurrentBusinessPartner.Code = new BusinessPartnerSQLiteRepository().GetNewCodeValue(); Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { txtName.Focus(); }) ); } else { Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { FlyoutHelper.CloseFlyout(this); }) ); } } }); th.IsBackground = true; th.Start(); }
public BusinessPartner_ReportWindow(BusinessPartnerViewModel businessPartnerView) { InitializeComponent(); string path = ""; try { rdlcBusinessPartnerReport.LocalReport.DataSources.Clear(); List <BusinessPartnersReportViewModel> businessPartner = new List <BusinessPartnersReportViewModel>(); List <BusinessPartnerViewModel> BusinessPartnerItems = new BusinessPartnerSQLiteRepository().GetBusinessPartnersByPage(MainWindow.CurrentCompanyId, BusinessPartnerSearchObject, 1, 50).BusinessPartners; int counter = 1; foreach (var BusinessPartnerItem in BusinessPartnerItems) { businessPartner.Add(new BusinessPartnersReportViewModel() { OrderNumbersForBusinessPartners = counter++, InternalCode = BusinessPartnerItem?.InternalCode ?? "", Name = BusinessPartnerItem?.Name ?? "", NameGer = BusinessPartnerItem?.NameGer ?? "", TaxNr = BusinessPartnerItem?.TaxNr ?? "", Valuta = BusinessPartnerItem?.DueDate.ToString("#.00") ?? "", VatDescription = BusinessPartnerItem?.Vat?.Amount.ToString() ?? "", PIO = BusinessPartnerItem?.PIO ?? "", Customer = BusinessPartnerItem?.Customer ?? "", DiscountName = BusinessPartnerItem?.Discount?.Amount.ToString("#.00") ?? "", IsInPDV = BusinessPartnerItem?.IsInPDV.ToString() ?? "" }); } var rpdsModel = new ReportDataSource() { Name = "DataSet1", Value = businessPartner }; rdlcBusinessPartnerReport.LocalReport.DataSources.Add(rpdsModel); //List<ReportParameter> reportParams = new List<ReportParameter>(); //string parameterText = "Dana " + (CurrentInputInvoice?.InvoiceDate.ToString("dd.MM.yyyy") ?? "") + " na stočni depo klanice Bioesen primljeno je:"; //reportParams.Add(new ReportParameter("txtInputInvoiceDate", parameterText)); //var businessPartnerList = new List<InvoiceBusinessPartnerViewModel>(); //businessPartnerList.Add(new InvoiceBusinessPartnerViewModel() { Name = "Pera peric " }); //var businessPartnerModel = new ReportDataSource() { Name = "DataSet2", Value = businessPartnerList }; //rdlcInputNoteReport.LocalReport.DataSources.Add(businessPartnerModel); string exeFolder = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); string ContentStart = System.IO.Path.Combine(exeFolder, @"RdlcReports\BusinessPartners\BusinessPartnersReport.rdlc"); rdlcBusinessPartnerReport.LocalReport.ReportPath = ContentStart; // rdlcBusinessPartnerReport.LocalReport.SetParameters(reportParams); rdlcBusinessPartnerReport.SetDisplayMode(DisplayMode.PrintLayout); rdlcBusinessPartnerReport.Refresh(); rdlcBusinessPartnerReport.ZoomMode = ZoomMode.Percent; rdlcBusinessPartnerReport.ZoomPercent = 100; rdlcBusinessPartnerReport.RefreshReport(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void BtnSubmit_Click(object sender, RoutedEventArgs e) { #region Validation if (CurrentBusinessPartner?.InternalCode == null) { MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_poljeDvotačka_Šifra")); return; } #endregion Thread td = new Thread(() => { SubmitButtonContent = ((string)Application.Current.FindResource("Čuvanje_u_tokuTriTacke")); SubmitButtonEnabled = false; CurrentBusinessPartner.IsSynced = false; CurrentBusinessPartner.Company = new CompanyViewModel() { Id = MainWindow.CurrentCompanyId }; CurrentBusinessPartner.CreatedBy = new UserViewModel() { Id = MainWindow.CurrentUserId }; BusinessPartnerResponse response = new BusinessPartnerSQLiteRepository().Create(CurrentBusinessPartner); if (!response.Success) { MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_lokalnog_čuvanjaUzvičnik")); SubmitButtonContent = ((string)Application.Current.FindResource("Proknjiži")); SubmitButtonEnabled = true; } response = businessPartnerService.Create(CurrentBusinessPartner); if (!response.Success) { MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik")); SubmitButtonContent = ((string)Application.Current.FindResource("Proknjiži")); SubmitButtonEnabled = true; } if (response.Success) { MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Podaci_su_uspešno_sačuvaniUzvičnik")); SubmitButtonContent = ((string)Application.Current.FindResource("Proknjiži")); SubmitButtonEnabled = true; new BusinessPartnerSQLiteRepository().Sync(businessPartnerService); BusinessPartnerCreatedUpdated(); Application.Current.Dispatcher.BeginInvoke( System.Windows.Threading.DispatcherPriority.Normal, new Action(() => { FlyoutHelper.CloseFlyout(this); }) ); } }); td.IsBackground = true; td.Start(); }
private async void MetroWindow_Loaded(object sender, System.Windows.RoutedEventArgs e) { Thread td = new Thread(() => { List <ServiceInterfaces.ViewModels.Common.Invoices.InvoiceItemViewModel> itemsFromDB = new List <ServiceInterfaces.ViewModels.Common.Invoices.InvoiceItemViewModel>(); var response = new InvoiceItemSQLiteRepository().GetInvoiceItemsByInvoice(MainWindow.CurrentCompanyId, CurrentInvoice.Identifier); if (response.Success) { itemsFromDB.AddRange(response.InvoiceItems ?? new List <ServiceInterfaces.ViewModels.Common.Invoices.InvoiceItemViewModel>()); } Dispatcher.BeginInvoke(new Action(() => { rdlcInvoiceReport.LocalReport.DataSources.Clear(); })); List <RdlcReports.Invoices.InvoiceItemViewModel> items = new List <RdlcReports.Invoices.InvoiceItemViewModel>(); int id = 1; foreach (var item in itemsFromDB) { var quantity = GetFormatted((double)item.Quantity, "00"); double?priceWithoutPDVSuffix = null; double?priceWithPDVSuffix = null; double?amountSuffix = null; double?pdvValueSuffix = null; double?rebateSuffix = null; if (CurrentInvoice.CurrencyExchangeRate != null) { priceWithoutPDVSuffix = (double)((double)item.BaseAfterDiscount / CurrentInvoice.CurrencyExchangeRate.Value); priceWithPDVSuffix = (double)((double)(item.BaseAfterDiscount + item.PDV) / CurrentInvoice.CurrencyExchangeRate.Value); amountSuffix = (double)((double)item.Amount / CurrentInvoice.CurrencyExchangeRate.Value); pdvValueSuffix = (double)((double)item.PDV / CurrentInvoice.CurrencyExchangeRate.Value); rebateSuffix = (double)((double)item.TotalDiscount / CurrentInvoice.CurrencyExchangeRate.Value); } items.Add(new RdlcReports.Invoices.InvoiceItemViewModel() { Id = (id++).ToString(), ProductCode = item.Code, ProductName = item.Name + Environment.NewLine + CurrentInvoice.CurrencyCode, UnitOfMeasurement = item.UnitOfMeasure, Quantity = quantity + Environment.NewLine + quantity, PDVPercent = item.PDVPercent + "%", PriceWithoutPDV = GetFormatted((double)item.BaseAfterDiscount) + Environment.NewLine + GetFormatted(priceWithoutPDVSuffix), PriceWithPDV = GetFormatted((double)(item.BaseAfterDiscount + item.PDV)) + Environment.NewLine + GetFormatted(priceWithPDVSuffix), Amount = GetFormatted((double)item.Amount) + Environment.NewLine + GetFormatted(amountSuffix), PDVValue = GetFormatted((double)item.PDV) + Environment.NewLine + GetFormatted(pdvValueSuffix), Rebate = GetFormatted((double)item.TotalDiscount) + Environment.NewLine + GetFormatted(rebateSuffix) }); } var buyerResponse = new BusinessPartnerSQLiteRepository().GetBusinessPartner(CurrentInvoice.Buyer.Identifier); BusinessPartnerViewModel buyer = buyerResponse?.BusinessPartner; double sumOfAmount = (double)itemsFromDB.Sum(x => x.Amount); double sumOfAmountInCurrency = (double)itemsFromDB.Sum(x => x.CurrencyPriceWithPDV); double sumOfBase = (double)itemsFromDB.Sum(x => x.BaseAfterDiscount); // sum of base double sumOfPDV = (double)itemsFromDB.Sum(x => x.PDV); // sum of base double?sumOfBaseInCurrency = null; if (CurrentInvoice.CurrencyExchangeRate != null) { sumOfBaseInCurrency = (double)(sumOfBase / CurrentInvoice.CurrencyExchangeRate); } WpfAppCommonCode.Helpers.BrojUTekst brText = new WpfAppCommonCode.Helpers.BrojUTekst() { Hrvatskezik = false }; string preFormattedText = GetFormatted(sumOfAmount, "00"); string textFormTotal = brText.PretvoriBrojUTekst(preFormattedText, ',', "RSD", ""); List <RdlcReports.Invoices.InvoiceViewModel> invoice = new List <RdlcReports.Invoices.InvoiceViewModel>() { new RdlcReports.Invoices.InvoiceViewModel() { InvoiceNumber = CurrentInvoice.InvoiceNumber, CityAndInvoiceDate = CurrentInvoice.City?.Name + ", " + CurrentInvoice.InvoiceDate.ToString("dd.MM.yyyy"), DeliveryDateOfGoodsAndServices = CurrentInvoice.DateOfPayment?.ToString("dd.MM.yyyy"), DueDate = CurrentInvoice.DueDate.ToString("dd.MM.yyyy"), BusinessPartnerCode = buyer?.InternalCode, BusinessPartnerPIB = buyer?.PIB, BusinessPartnerMB = buyer.IdentificationNumber, BusinessPartnerName = buyer?.Name, BusinessPartnerAddress = CurrentInvoice.Address, BusinessPartnerCity = CurrentInvoice.City?.ZipCode + " " + CurrentInvoice.City?.Name, Amount = GetFormatted((double)sumOfBase), AmountInCurrency = (CurrentInvoice?.CurrencyExchangeRate == null ? "" : GetFormatted((double)sumOfBaseInCurrency)), TotalAmount = GetFormatted((double)sumOfAmount), TotalAmountInCurrency = (CurrentInvoice?.CurrencyExchangeRate == null ? "" : GetFormatted((double)sumOfAmountInCurrency)), TotalBase = GetFormatted((double)sumOfBase), TotalPDV = GetFormatted((double)sumOfPDV), TotalAmountInText = textFormTotal } }; Dispatcher.BeginInvoke(new Action(() => { var rpdsModel = new ReportDataSource() { Name = "Invoices", Value = invoice }; var rdpsitems = new ReportDataSource() { Name = "InvoiceItems", Value = items }; rdlcInvoiceReport.LocalReport.DataSources.Add(rpdsModel); rdlcInvoiceReport.LocalReport.DataSources.Add(rdpsitems); string exeFolder = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); switch (CurrentInvoice.PdvType) { case 1: // sa pdv { string ContentStart = @"SirmiumERPGFC.RdlcReports.Invoices.Invoice_WithPDV.rdlc"; rdlcInvoiceReport.LocalReport.ReportEmbeddedResource = ContentStart; break; } case 2: // bez pdv { string ContentStart = @"SirmiumERPGFC.RdlcReports.Invoices.Invoice_WithoutPDV.rdlc"; rdlcInvoiceReport.LocalReport.ReportEmbeddedResource = ContentStart; break; } case 3: // nije u sistemu pdv { string ContentStart = @"SirmiumERPGFC.RdlcReports.Invoices.Invoice_NotInPDV.rdlc"; rdlcInvoiceReport.LocalReport.ReportEmbeddedResource = ContentStart; break; } } //rdlcInvoiceReport.LocalReport.ReportPath = ContentStart; // rdlcInputInvoiceReport.LocalReport.SetParameters(reportParams); rdlcInvoiceReport.SetDisplayMode(DisplayMode.PrintLayout); rdlcInvoiceReport.Refresh(); rdlcInvoiceReport.ZoomMode = ZoomMode.Percent; rdlcInvoiceReport.ZoomPercent = 100; rdlcInvoiceReport.RefreshReport(); })); }); td.IsBackground = true; td.Start(); }