Example #1
0
        public InputInvoiceResponse Create(InputInvoiceViewModel InputInvoice)
        {
            InputInvoiceResponse response = new InputInvoiceResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;



                try
                {
                    insertCommand = AddCreateParameters(insertCommand, InputInvoice);
                    insertCommand.ExecuteNonQuery();
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    return(response);
                }
                db.Close();

                response.Success = true;
                return(response);
            }
        }
Example #2
0
        private static InputInvoiceViewModel Read(SqliteDataReader query)
        {
            int counter = 0;
            InputInvoiceViewModel dbEntry = new InputInvoiceViewModel();

            dbEntry.Id              = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.Identifier      = SQLiteHelper.GetGuid(query, ref counter);
            dbEntry.Code            = SQLiteHelper.GetString(query, ref counter);
            dbEntry.BusinessPartner = SQLiteHelper.GetBusinessPartner(query, ref counter);
            dbEntry.Supplier        = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Address         = SQLiteHelper.GetString(query, ref counter);
            dbEntry.InvoiceNumber   = SQLiteHelper.GetString(query, ref counter);
            dbEntry.InvoiceDate     = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.AmountNet       = SQLiteHelper.GetDecimal(query, ref counter);
            dbEntry.PDVPercent      = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.PDV             = SQLiteHelper.GetDecimal(query, ref counter);
            dbEntry.AmountGross     = SQLiteHelper.GetDecimal(query, ref counter);
            dbEntry.Currency        = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.DateOfPaymet    = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.Status          = SQLiteHelper.GetString(query, ref counter);
            dbEntry.StatusDate      = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.Description     = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Path            = SQLiteHelper.GetString(query, ref counter);

            dbEntry.IsSynced = SQLiteHelper.GetBoolean(query, ref counter);

            dbEntry.UpdatedAt = SQLiteHelper.GetDateTime(query, ref counter);
            dbEntry.CreatedBy = SQLiteHelper.GetCreatedBy(query, ref counter);
            dbEntry.Company   = SQLiteHelper.GetCompany(query, ref counter);
            return(dbEntry);
        }
Example #3
0
        private SqliteCommand AddCreateParameters(SqliteCommand insertCommand, InputInvoiceViewModel InputInvoice)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", InputInvoice.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", InputInvoice.Identifier);
            insertCommand.Parameters.AddWithValue("@Code", ((object)InputInvoice.Code) ?? DBNull.Value);

            insertCommand.Parameters.AddWithValue("@BusinessPartnerId", ((object)InputInvoice.BusinessPartner?.Id) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerIdentifier", ((object)InputInvoice.BusinessPartner?.Identifier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerCode", ((object)InputInvoice.BusinessPartner?.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerName", ((object)InputInvoice.BusinessPartner?.Name) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerInternalCode", ((object)InputInvoice.BusinessPartner?.InternalCode) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@BusinessPartnerNameGer", ((object)InputInvoice.BusinessPartner?.NameGer) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Supplier", ((object)InputInvoice.Supplier) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Address", ((object)InputInvoice.Address) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@InvoiceNumber", ((object)InputInvoice.InvoiceNumber) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@InvoiceDate", ((object)InputInvoice.InvoiceDate) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@AmountNet", ((object)InputInvoice.AmountNet) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@PDVPercent", ((object)InputInvoice.PDVPercent) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@PDV", ((object)InputInvoice.PDV) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@AmountGross", ((object)InputInvoice.AmountGross) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Currency", ((object)InputInvoice.Currency) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@DateOfPaymet", ((object)InputInvoice.DateOfPaymet) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Status", ((object)InputInvoice.Status) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@StatusDate", ((object)InputInvoice.StatusDate) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Description", ((object)InputInvoice.Description) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Path", ((object)InputInvoice.Path) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@IsSynced", InputInvoice.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)InputInvoice.UpdatedAt) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@CreatedById", MainWindow.CurrentUser.Id);
            insertCommand.Parameters.AddWithValue("@CreatedByName", MainWindow.CurrentUser.FirstName + " " + MainWindow.CurrentUser.LastName);
            insertCommand.Parameters.AddWithValue("@CompanyId", MainWindow.CurrentCompany.Id);
            insertCommand.Parameters.AddWithValue("@CompanyName", MainWindow.CurrentCompany.CompanyName);

            return(insertCommand);
        }
Example #4
0
        public static InputInvoiceViewModel ConvertToInputInvoiceViewModelLite(this InputInvoice inputInvoice)
        {
            InputInvoiceViewModel inputInvoiceViewModel = new InputInvoiceViewModel()
            {
                Id         = inputInvoice.Id,
                Identifier = inputInvoice.Identifier,

                Code          = inputInvoice.Code,
                Supplier      = inputInvoice.Supplier,
                Address       = inputInvoice.Address,
                InvoiceNumber = inputInvoice.InvoiceNumber,
                InvoiceDate   = inputInvoice.InvoiceDate,
                AmountNet     = inputInvoice.AmountNet,
                PDVPercent    = inputInvoice.PDVPercent,
                PDV           = inputInvoice.PDV,
                AmountGross   = inputInvoice.AmountGross,
                Currency      = inputInvoice.Currency,
                DateOfPaymet  = inputInvoice.DateOfPaymet,
                Status        = inputInvoice.Status,

                StatusDate  = inputInvoice.StatusDate,
                Description = inputInvoice.Description,

                Path = inputInvoice.Path,

                IsActive = inputInvoice.Active,

                UpdatedAt = inputInvoice.UpdatedAt,
                CreatedAt = inputInvoice.CreatedAt
            };


            return(inputInvoiceViewModel);
        }
Example #5
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            InputInvoiceViewModel inputInvoice = new InputInvoiceViewModel();

            inputInvoice.Identifier  = Guid.NewGuid();
            inputInvoice.InvoiceDate = DateTime.Now;

            InputInvoiceAddEdit addEditForm = new InputInvoiceAddEdit(inputInvoice, true, false);

            addEditForm.InputInvoiceCreatedUpdated += new InputInvoiceHandler(SyncData);
            FlyoutHelper.OpenFlyout(this, ((string)Application.Current.FindResource("ULAZNE_FAKTURE")), 95, addEditForm);
        }
        public InputInvoiceAddEdit(InputInvoiceViewModel InputInvoiceViewModel, bool isCreateProcess, bool isPopup = false)
        {
            // Initialize service
            InputInvoiceService = DependencyResolver.Kernel.Get <IInputInvoiceService>();

            InitializeComponent();

            this.DataContext = this;

            IsHeaderCreated = !isCreateProcess;

            currentInputInvoice = InputInvoiceViewModel;
            IsCreateProcess     = isCreateProcess;
            IsPopup             = isPopup;
        }
        public InputInvoiceResponse Create(InputInvoiceViewModel re)
        {
            InputInvoiceResponse response = new InputInvoiceResponse();

            try
            {
                response = WpfApiHandler.SendToApi <InputInvoiceViewModel, InputInvoiceResponse>(re, "Create");
            }
            catch (Exception ex)
            {
                response.InputInvoice = new InputInvoiceViewModel();
                response.Success      = false;
                response.Message      = ex.Message;
            }

            return(response);
        }
Example #8
0
        public InputInvoiceListResponse GetInputInvoicesForPopup(int companyId, string filterString)
        {
            InputInvoiceListResponse     response      = new InputInvoiceListResponse();
            List <InputInvoiceViewModel> InputInvoices = new List <InputInvoiceViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM InputInvoices " +
                        "WHERE (@Code IS NULL OR @Code = '' OR Code LIKE @Code OR Code LIKE @Code) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC " +
                        "LIMIT @ItemsPerPage;", db);

                    selectCommand.Parameters.AddWithValue("@Code", ((object)filterString) != null ? "%" + filterString + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", ((object)filterString) != null ? companyId : 0);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", 100);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        InputInvoiceViewModel dbEntry = Read(query);
                        InputInvoices.Add(dbEntry);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.InputInvoices  = new List <InputInvoiceViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success       = true;
            response.InputInvoices = InputInvoices;
            return(response);
        }
        public InputInvoiceResponse Delete(Guid identifier)
        {
            InputInvoiceResponse response = new InputInvoiceResponse();

            try
            {
                InputInvoiceViewModel re = new InputInvoiceViewModel();
                re.Identifier = identifier;
                response      = WpfApiHandler.SendToApi <InputInvoiceViewModel, InputInvoiceResponse>(re, "Delete");
            }
            catch (Exception ex)
            {
                response.InputInvoice = new InputInvoiceViewModel();
                response.Success      = false;
                response.Message      = ex.Message;
            }

            return(response);
        }
Example #10
0
        public JsonResult Delete([FromBody] InputInvoiceViewModel inputInvoice)
        {
            InputInvoiceResponse response = new InputInvoiceResponse();

            try
            {
                response = this.inputInvoiceService.Delete(inputInvoice.Identifier);
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
                Console.WriteLine(ex.Message);
            }

            return(Json(response, new Newtonsoft.Json.JsonSerializerSettings()
            {
                Formatting = Newtonsoft.Json.Formatting.Indented
            }));
        }
        public InputInvoice_Document_AddEdit(InputInvoiceViewModel inputInvoice)
        {
            inputInvoiceService         = DependencyResolver.Kernel.Get <IInputInvoiceService>();
            inputInvoiceDocumentService = DependencyResolver.Kernel.Get <IInputInvoiceDocumentService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentInputInvoice                        = inputInvoice;
            CurrentInputInvoiceDocumentForm            = new InputInvoiceDocumentViewModel();
            CurrentInputInvoiceDocumentForm.Identifier = Guid.NewGuid();
            CurrentInputInvoiceDocumentForm.ItemStatus = ItemStatus.Added;

            Thread displayThread = new Thread(() => DisplayInputInvoiceDocumentData());

            displayThread.IsBackground = true;
            displayThread.Start();

            btnAddDocument.Focus();
        }
Example #12
0
        public static InputInvoice ConvertToInputInvoice(this InputInvoiceViewModel inputInvoiceViewModel)
        {
            InputInvoice inputInvoice = new InputInvoice()
            {
                Id         = inputInvoiceViewModel.Id,
                Identifier = inputInvoiceViewModel.Identifier,

                Code          = inputInvoiceViewModel.Code,
                Supplier      = inputInvoiceViewModel.Supplier,
                Address       = inputInvoiceViewModel.Address,
                InvoiceNumber = inputInvoiceViewModel.InvoiceNumber,
                InvoiceDate   = inputInvoiceViewModel.InvoiceDate,
                AmountNet     = inputInvoiceViewModel.AmountNet,
                PDVPercent    = inputInvoiceViewModel.PDVPercent,
                PDV           = inputInvoiceViewModel.PDV,
                AmountGross   = inputInvoiceViewModel.AmountGross,
                Currency      = inputInvoiceViewModel.Currency,
                DateOfPaymet  = inputInvoiceViewModel.DateOfPaymet,
                Status        = inputInvoiceViewModel.Status,

                StatusDate  = inputInvoiceViewModel.StatusDate,
                Description = inputInvoiceViewModel.Description,

                Path = inputInvoiceViewModel.Path,

                BusinessPartnerId = inputInvoiceViewModel.BusinessPartner?.Id ?? null,

                Active = inputInvoiceViewModel.IsActive,

                CreatedById = inputInvoiceViewModel.CreatedBy?.Id ?? null,
                CompanyId   = inputInvoiceViewModel.Company?.Id ?? null,

                CreatedAt = inputInvoiceViewModel.CreatedAt,
                UpdatedAt = inputInvoiceViewModel.UpdatedAt
            };

            return(inputInvoice);
        }
Example #13
0
        public InputInvoiceResponse GetInputInvoice(Guid identifier)
        {
            InputInvoiceResponse  response     = new InputInvoiceResponse();
            InputInvoiceViewModel InputInvoice = new InputInvoiceViewModel();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM InputInvoices " +
                        "WHERE Identifier = @Identifier;", db);
                    selectCommand.Parameters.AddWithValue("@Identifier", identifier);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        InputInvoiceViewModel dbEntry = Read(query);
                        InputInvoice = dbEntry;
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.InputInvoice   = new InputInvoiceViewModel();
                    return(response);
                }
                db.Close();
            }
            response.Success      = true;
            response.InputInvoice = InputInvoice;
            return(response);
        }
Example #14
0
        public InputInvoiceResponse Create(InputInvoiceViewModel re)
        {
            InputInvoiceResponse response = new InputInvoiceResponse();

            try
            {
                // Backup notes
                List <InputInvoiceNoteViewModel> inputInvoiceNotes = re.InputInvoiceNotes?.ToList();
                re.InputInvoiceNotes = null;

                // Backup documents
                List <InputInvoiceDocumentViewModel> inputInvoiceDocuments = re.InputInvoiceDocuments?.ToList();
                re.InputInvoiceDocuments = null;

                InputInvoice createdInputInvoice = unitOfWork.GetInputInvoiceRepository().Create(re.ConvertToInputInvoice());

                // Update notes
                if (inputInvoiceNotes != null && inputInvoiceNotes.Count > 0)
                {
                    // Items for create or update
                    foreach (var inputInvoiceNote in inputInvoiceNotes
                             .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <InputInvoiceNoteViewModel>())
                    {
                        inputInvoiceNote.InputInvoice = new InputInvoiceViewModel()
                        {
                            Id = createdInputInvoice.Id
                        };
                        inputInvoiceNote.ItemStatus = ItemStatus.Submited;
                        InputInvoiceNote createdInputInvoiceNote = unitOfWork.GetInputInvoiceNoteRepository()
                                                                   .Create(inputInvoiceNote.ConvertToInputInvoiceNote());
                    }

                    foreach (var item in inputInvoiceNotes
                             .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <InputInvoiceNoteViewModel>())
                    {
                        item.InputInvoice = new InputInvoiceViewModel()
                        {
                            Id = createdInputInvoice.Id
                        };
                        unitOfWork.GetInputInvoiceNoteRepository().Create(item.ConvertToInputInvoiceNote());

                        unitOfWork.GetInputInvoiceNoteRepository().Delete(item.Identifier);
                    }
                }

                // Update documents
                if (inputInvoiceDocuments != null && inputInvoiceDocuments.Count > 0)
                {
                    // Items for create or update
                    foreach (var inputInvoiceDocument in inputInvoiceDocuments
                             .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <InputInvoiceDocumentViewModel>())
                    {
                        inputInvoiceDocument.InputInvoice = new InputInvoiceViewModel()
                        {
                            Id = createdInputInvoice.Id
                        };
                        inputInvoiceDocument.ItemStatus = ItemStatus.Submited;
                        InputInvoiceDocument createdInputInvoiceDocument = unitOfWork.GetInputInvoiceDocumentRepository()
                                                                           .Create(inputInvoiceDocument.ConvertToInputInvoiceDocument());
                    }

                    foreach (var item in inputInvoiceDocuments
                             .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <InputInvoiceDocumentViewModel>())
                    {
                        item.InputInvoice = new InputInvoiceViewModel()
                        {
                            Id = createdInputInvoice.Id
                        };
                        unitOfWork.GetInputInvoiceDocumentRepository().Create(item.ConvertToInputInvoiceDocument());

                        unitOfWork.GetInputInvoiceDocumentRepository().Delete(item.Identifier);
                    }
                }

                unitOfWork.Save();

                response.InputInvoice = createdInputInvoice.ConvertToInputInvoiceViewModel();
                response.Success      = true;
            }
            catch (Exception ex)
            {
                response.InputInvoice = new InputInvoiceViewModel();
                response.Success      = false;
                response.Message      = ex.Message;
            }

            return(response);
        }
        public static void Show(InputInvoiceViewModel inputInvoice)
        {
            //Create excel workbook and sheet
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
            excel.Visible = true;

            //excel.DisplayFullScreen = true;
            excel.WindowState = XlWindowState.xlMaximized;

            Workbook  workbook = excel.Workbooks.Add(System.Reflection.Missing.Value);
            Worksheet sheet1   = (Worksheet)workbook.Sheets[1];

            //excel.StandardFont = "Calibri"; //"Arial Narrow" "Times New Roman" "Arial" "Bahnschrift SemiBold Condensed"
            //excel.StandardFontSize = 8;

            sheet1.PageSetup.PaperSize      = XlPaperSize.xlPaperA4;
            sheet1.PageSetup.Orientation    = XlPageOrientation.xlPortrait;
            sheet1.PageSetup.FitToPagesTall = false;
            sheet1.PageSetup.FitToPagesWide = 1;
            sheet1.PageSetup.Zoom           = false;


            // Set header rows
            sheet1.PageSetup.PrintTitleRows = "$1:$2";

            sheet1.PageSetup.HeaderMargin = 30;
            sheet1.PageSetup.LeftHeader   = "&16&B Ulazne fakture";
            sheet1.PageSetup.RightHeader  = "&8Stranica &P/&N";

            sheet1.PageSetup.CenterHeaderPicture.Filename = AppDomain.CurrentDomain.BaseDirectory + "\\Resources\\image005.jpg";
            sheet1.PageSetup.CenterHeaderPicture.Width    = 150;
            sheet1.PageSetup.CenterHeaderPicture.Height   = 50;
            sheet1.PageSetup.CenterHeader = "&G";

            sheet1.PageSetup.CenterFooterPicture.Filename = AppDomain.CurrentDomain.BaseDirectory + "\\Resources\\erp8.png";
            sheet1.PageSetup.CenterFooterPicture.Width    = 100;
            sheet1.PageSetup.CenterFooterPicture.Height   = 40;
            sheet1.PageSetup.CenterFooter = "&G";
            //sheet1.PageSetup.LeftFooter = " www.sirmiumerp.com ";
            //sheet1.PageSetup.CenterFooter = " www.sirmiumerp.com ";


            int leftSideMin  = 1;
            int rightSideMax = 14;

            int rowCounter = 1;

            rowCounter++;
            rowCounter++;
            rowCounter++;

            // rowCounter = 26; //top chart area

            #region Table

            rowCounter++;
            rowCounter++;

            int columnCounter = 2;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "POSLOVNI PARTNER/GESCHÄFTSPARTNER: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.BusinessPartner?.Name;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "DOBAVLJAČ/LIEFERANT: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.Supplier;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "ADRESA/ADRESSE: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.Address;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "BROJ FAKTURE/FAKTURNUMMER: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.InvoiceNumber.ToString();

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "DATUM FAKTURE/FAKTURDATUM: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.InvoiceDate.ToString("dd.MM.yyyy");

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "IZNOS NETO/BETRAG NETTO: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.AmountNet;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "PDV%: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.PDVPercent;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "PDV: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.PDV;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "IZNOS BRUTO/BETRAG BRUTTO: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.AmountGross;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "VALUTA: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.Currency;

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "DATUM PLAĆANJA/ZAHLUNGSDATUM: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.DateOfPaymet.ToString("dd.MM.yyyy");

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "STATUS: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = new ChooseStatusConverter().Convert(inputInvoice.Status, null, null, CultureInfo.InvariantCulture);

            rowCounter++;

            sheet1.Cells[rowCounter, columnCounter].Interior.Color      = XlRgbColor.rgbLightGray;
            sheet1.Cells[rowCounter, columnCounter].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter] = "DATUM STATUSA/STATUSDATUM: ";

            sheet1.Cells[rowCounter, columnCounter + 1].HorizontalAlignment = XlHAlign.xlHAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].VerticalAlignment   = XlVAlign.xlVAlignCenter;
            sheet1.Cells[rowCounter, columnCounter + 1].Font.Size           = 10;
            sheet1.Cells[rowCounter, columnCounter + 1] = inputInvoice.StatusDate.ToString("dd.MM.yyyy");

            rowCounter++;

            #endregion

            rowCounter++;
            rowCounter++;
            rowCounter++;
            rowCounter++;

            sheet1.Range[sheet1.Cells[rowCounter, 3], sheet1.Cells[rowCounter, 4]].Merge();
            sheet1.Range[sheet1.Cells[rowCounter, 3], sheet1.Cells[rowCounter, 4]].Font.Size = 10;
            sheet1.Range[sheet1.Cells[rowCounter, 3], sheet1.Cells[rowCounter, 4]]           = "Odgovorno lice/Verantwortliche Person";

            rowCounter++;
            rowCounter++;

            sheet1.Range[sheet1.Cells[rowCounter, 3], sheet1.Cells[rowCounter, 5]].Merge();
            sheet1.Range[sheet1.Cells[rowCounter, 3], sheet1.Cells[rowCounter, 5]] = "_____________________________";

            sheet1.Columns.AutoFit();
        }
Example #16
0
        public InputInvoiceListResponse GetInputInvoicesByPage(int companyId, InputInvoiceViewModel InputInvoiceSearchObject, int currentPage = 1, int itemsPerPage = 50)
        {
            InputInvoiceListResponse     response      = new InputInvoiceListResponse();
            List <InputInvoiceViewModel> InputInvoices = new List <InputInvoiceViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM InputInvoices " +
                        "WHERE (@BusinessPartnerName IS NULL OR @BusinessPartnerName = '' OR BusinessPartnerName LIKE @BusinessPartnerName) " +
                        "AND (@Supplier IS NULL OR @Supplier = '' OR Supplier LIKE @Supplier)  " +
                        "AND (@InvoiceNumber IS NULL OR @InvoiceNumber = '' OR InvoiceNumber LIKE @InvoiceNumber)  " +
                        "AND (@InvoiceDateTo IS NULL OR @InvoiceDateTo = '' OR DATE(InvoiceDate) <= DATE(@InvoiceDateTo)) " +
                        "AND (@InvoiceDateFrom IS NULL OR @InvoiceDateFrom = '' OR DATE(InvoiceDate) >= DATE(@InvoiceDateFrom)) " +
                        "AND (@DateOfPaymetTo IS NULL OR @DateOfPaymetTo = '' OR DATE(DateOfPaymet) <= DATE(@DateOfPaymetTo)) " +
                        "AND (@DateOfPaymetFrom IS NULL OR @DateOfPaymetFrom = '' OR DATE(DateOfPaymet) >= DATE(@DateOfPaymetFrom)) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, Id DESC " +
                        "LIMIT @ItemsPerPage OFFSET @Offset;", db);

                    selectCommand.Parameters.AddWithValue("@BusinessPartnerName", ((object)InputInvoiceSearchObject.SearchBy_BusinessPartnerName) != null ? "%" + InputInvoiceSearchObject.SearchBy_BusinessPartnerName + "%" : "");
                    selectCommand.Parameters.AddWithValue("@Supplier", ((object)InputInvoiceSearchObject.SearchBy_Supplier) != null ? "%" + InputInvoiceSearchObject.SearchBy_Supplier + "%" : "");

                    selectCommand.Parameters.AddWithValue("@InvoiceNumber", ((object)InputInvoiceSearchObject.SearchBy_InvoiceNumber) != null ? "%" + InputInvoiceSearchObject.SearchBy_InvoiceNumber + "%" : "");
                    selectCommand.Parameters.AddWithValue("@InvoiceDateFrom", ((object)InputInvoiceSearchObject.SearchBy_InvoiceDateFrom) != null ? (object)InputInvoiceSearchObject.SearchBy_InvoiceDateFrom : DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@InvoiceDateTo", ((object)InputInvoiceSearchObject.SearchBy_InvoiceDateTo) != null ? (object)InputInvoiceSearchObject.SearchBy_InvoiceDateTo : DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@DateOfPaymetFrom", ((object)InputInvoiceSearchObject.SearchBy_DateOfPaymetFrom) != null ? (object)InputInvoiceSearchObject.SearchBy_DateOfPaymetFrom : DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@DateOfPaymetTo", ((object)InputInvoiceSearchObject.SearchBy_DateOfPaymetTo) != null ? (object)InputInvoiceSearchObject.SearchBy_DateOfPaymetTo : DBNull.Value);

                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage);
                    selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        InputInvoiceViewModel dbEntry = Read(query);
                        InputInvoices.Add(dbEntry);
                    }


                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM InputInvoices " +
                        "WHERE (@BusinessPartnerName IS NULL OR @BusinessPartnerName = '' OR BusinessPartnerName LIKE @BusinessPartnerName) " +
                        "AND (@Supplier IS NULL OR @Supplier = '' OR Supplier LIKE @Supplier)  " +
                        "AND (@InvoiceNumber IS NULL OR @InvoiceNumber = '' OR InvoiceNumber LIKE @InvoiceNumber)  " +
                        "AND (@InvoiceDateTo IS NULL OR @InvoiceDateTo = '' OR DATE(InvoiceDate) <= DATE(@InvoiceDateTo)) " +
                        "AND (@InvoiceDateFrom IS NULL OR @InvoiceDateFrom = '' OR DATE(InvoiceDate) >= DATE(@InvoiceDateFrom)) " +
                        "AND (@DateOfPaymetTo IS NULL OR @DateOfPaymetTo = '' OR DATE(DateOfPaymet) <= DATE(@DateOfPaymetTo)) " +
                        "AND (@DateOfPaymetFrom IS NULL OR @DateOfPaymetFrom = '' OR DATE(DateOfPaymet) >= DATE(@DateOfPaymetFrom)) " +
                        "AND CompanyId = @CompanyId;", db);

                    selectCommand.Parameters.AddWithValue("@BusinessPartnerName", ((object)InputInvoiceSearchObject.SearchBy_BusinessPartnerName) != null ? "%" + InputInvoiceSearchObject.SearchBy_BusinessPartnerName + "%" : "");
                    selectCommand.Parameters.AddWithValue("@Supplier", ((object)InputInvoiceSearchObject.SearchBy_Supplier) != null ? "%" + InputInvoiceSearchObject.SearchBy_Supplier + "%" : "");

                    selectCommand.Parameters.AddWithValue("@InvoiceNumber", ((object)InputInvoiceSearchObject.SearchBy_InvoiceNumber) != null ? "%" + InputInvoiceSearchObject.SearchBy_InvoiceNumber + "%" : "");
                    selectCommand.Parameters.AddWithValue("@InvoiceDateFrom", ((object)InputInvoiceSearchObject.SearchBy_InvoiceDateFrom) != null ? (object)InputInvoiceSearchObject.SearchBy_InvoiceDateFrom : DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@InvoiceDateTo", ((object)InputInvoiceSearchObject.SearchBy_InvoiceDateTo) != null ? (object)InputInvoiceSearchObject.SearchBy_InvoiceDateTo : DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@DateOfPaymetFrom", ((object)InputInvoiceSearchObject.SearchBy_DateOfPaymetFrom) != null ? (object)InputInvoiceSearchObject.SearchBy_DateOfPaymetFrom : DBNull.Value);
                    selectCommand.Parameters.AddWithValue("@DateOfPaymetTo", ((object)InputInvoiceSearchObject.SearchBy_DateOfPaymetTo) != null ? (object)InputInvoiceSearchObject.SearchBy_DateOfPaymetTo : DBNull.Value);

                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);

                    query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        response.TotalItems = query.GetInt32(0);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.InputInvoices  = new List <InputInvoiceViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success       = true;
            response.InputInvoices = InputInvoices;
            return(response);
        }
        public InputInvoice_ReportWindow(InputInvoiceViewModel inputInvoiceView)
        {
            InitializeComponent();

            rdlcInputInvoiceReport.LocalReport.DataSources.Clear();

            List <InputInvoicesReportsViewModel> inputInvoice      = new List <InputInvoicesReportsViewModel>();
            List <InputInvoiceViewModel>         InputInvoiceItems = new InputInvoiceSQLiteRepository().GetInputInvoicesByPage(MainWindow.CurrentCompanyId, InputInvoiceSearchObject, 1, 50).InputInvoices;
            int counter = 1;

            foreach (var InputInvoiceItem in InputInvoiceItems)
            {
                inputInvoice.Add(new InputInvoicesReportsViewModel()
                {
                    OrderNumbersForInputInvoices = counter++,
                    BusinessPartnerName          = InputInvoiceItem?.BusinessPartner?.Name ?? "",
                    Supplier       = InputInvoiceItem?.Supplier ?? "",
                    Address        = InputInvoiceItem?.Address ?? "",
                    InvoiceNumber  = InputInvoiceItem?.InvoiceNumber ?? "",
                    InvoiceDate    = InputInvoiceItem?.InvoiceDate.ToString("dd.MM.yyyy") ?? "",
                    AmountNet      = InputInvoiceItem?.AmountNet.ToString("#.00") ?? "",
                    PDVPercent     = InputInvoiceItem?.PDVPercent.ToString("#.00") ?? "",
                    PDV            = InputInvoiceItem?.PDV.ToString() ?? "",
                    AmountGros     = InputInvoiceItem?.AmountGross.ToString("#.00") ?? "",
                    Currency       = InputInvoiceItem?.Currency.ToString("#.00") ?? "",
                    DateOfPaymetse = InputInvoiceItem?.DateOfPaymet.ToString("dd.MM.yyyy") ?? "",
                    Statuse        = InputInvoiceItem?.Status.ToString() ?? "",
                    StatusDate     = InputInvoiceItem?.StatusDate.ToString("dd.MM.yyyy") ?? ""
                });
            }
            var rpdsModel = new ReportDataSource()
            {
                Name  = "DataSet1",
                Value = inputInvoice
            };

            rdlcInputInvoiceReport.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 = Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory())));
            //////string ContentStart = System.IO.Path.Combine(exeFolder, @"SirmiumERPGFC\RdlcReports\InputInvoices\InputInvoicesReport.rdlc");

            //////rdlcInputInvoiceReport.LocalReport.ReportPath = ContentStart;
            string exeFolder    = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
            string ContentStart = System.IO.Path.Combine(exeFolder, @"RdlcReports\InputInvoices\InputInvoicesReport.rdlc");

            rdlcInputInvoiceReport.LocalReport.ReportPath = ContentStart;
            // rdlcInputInvoiceReport.LocalReport.SetParameters(reportParams);
            rdlcInputInvoiceReport.SetDisplayMode(DisplayMode.PrintLayout);
            rdlcInputInvoiceReport.Refresh();
            rdlcInputInvoiceReport.ZoomMode    = ZoomMode.Percent;
            rdlcInputInvoiceReport.ZoomPercent = 100;
            rdlcInputInvoiceReport.RefreshReport();
        }