private static void OnCurrentVatPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
        {
            VatPopup     popup = source as VatPopup;
            VatViewModel vat   = (VatViewModel)e.NewValue;

            popup.txtVat.Text = vat != null ? vat.Code + " (" + vat.Amount + ")" : "";
        }
        public ActionResult Vat()
        {
            checkVatPortTypeClient vat = new checkVatPortTypeClient();
            var model        = new List <VatViewModel>();
            var searchedVats = this.db.Vats.OrderByDescending(x => x.Id)
                               .Select(v => v.VatNumber)
                               .ToList();

            foreach (var searchedVat in searchedVats)
            {
                bool   valid;
                string name;
                string address;
                string countryCode = searchedVat.Substring(0, 2);
                string vatNumber   = searchedVat.Substring(2);

                var a        = vat.checkVat(ref countryCode, ref vatNumber, out valid, out name, out address);
                var checkVat = new VatViewModel
                {
                    IsValid = valid,
                    Name    = name,
                    Address = address
                };
                model.Add(checkVat);
            }
            return(View("Vat", model: model));
        }
        public VatListResponse GetVatsByPage(int companyId, VatViewModel vatSearchObject, int currentPage = 1, int itemsPerPage = 50)
        {
            VatListResponse     response = new VatListResponse();
            List <VatViewModel> vats     = new List <VatViewModel>();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();
                try
                {
                    SqliteCommand selectCommand = new SqliteCommand(
                        SqlCommandSelectPart +
                        "FROM Vats " +
                        "WHERE (@Description IS NULL OR @Description = '' OR Description LIKE @Description) " +
                        "AND CompanyId = @CompanyId " +
                        "ORDER BY IsSynced, ServerId " +
                        "LIMIT @ItemsPerPage OFFSET @Offset;", db);

                    selectCommand.Parameters.AddWithValue("@Description", ((object)vatSearchObject.Search_Description) != null ? "%" + vatSearchObject.Search_Description + "%" : "");
                    selectCommand.Parameters.AddWithValue("@CompanyId", companyId);
                    selectCommand.Parameters.AddWithValue("@ItemsPerPage", itemsPerPage);
                    selectCommand.Parameters.AddWithValue("@Offset", (currentPage - 1) * itemsPerPage);

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    while (query.Read())
                    {
                        vats.Add(Read(query));
                    }

                    selectCommand = new SqliteCommand(
                        "SELECT Count(*) " +
                        "FROM Vats " +
                        "WHERE (@Description IS NULL OR @Description = '' OR Description LIKE @Description) " +
                        "AND CompanyId = @CompanyId;", db);

                    selectCommand.Parameters.AddWithValue("@Description", ((object)vatSearchObject.Search_Description) != null ? "%" + vatSearchObject.Search_Description + "%" : "");
                    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.Vats           = new List <VatViewModel>();
                    return(response);
                }
                db.Close();
            }
            response.Success = true;
            response.Vats    = vats;
            return(response);
        }
        public VatResponse Create(VatViewModel vat)
        {
            VatResponse response = new VatResponse();

            using (SqliteConnection db = new SqliteConnection("Filename=SirmiumERPGFC.db"))
            {
                db.Open();

                SqliteCommand insertCommand = db.CreateCommand();
                insertCommand.CommandText = SqlCommandInsertPart;

                try
                {
                    insertCommand = AddCreateParameters(insertCommand, vat);
                    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);
            }
        }
        public VatViewModel MapToViewModel(Vat model)
        {
            VatViewModel viewModel = new VatViewModel();

            PropertyCopier <Vat, VatViewModel> .Copy(model, viewModel);

            return(viewModel);
        }
        public Vat MapToModel(VatViewModel viewModel)
        {
            Vat model = new Vat();

            PropertyCopier <VatViewModel, Vat> .Copy(viewModel, model);

            return(model);
        }
Esempio n. 7
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            VatViewModel Vat = new VatViewModel();

            Vat.Identifier = Guid.NewGuid();

            Vat_AddEdit addEditForm = new Vat_AddEdit(Vat, true);

            addEditForm.VatCreatedUpdated += new VatHandler(SyncData);
            FlyoutHelper.OpenFlyout(this, (string)Application.Current.FindResource("Podaci_o_PDV_u"), 95, addEditForm);
        }
Esempio n. 8
0
        public Vat_AddEdit(VatViewModel VatViewModel, bool isCreateProcess, bool isPopup = false)
        {
            VatService = DependencyResolver.Kernel.Get <IVatService>();

            InitializeComponent();

            this.DataContext = this;

            CurrentVat      = VatViewModel;
            IsCreateProcess = isCreateProcess;
            IsPopup         = isPopup;
        }
        public SqliteCommand AddCreateParameters(SqliteCommand insertCommand, VatViewModel vat)
        {
            insertCommand.Parameters.AddWithValue("@ServerId", vat.Id);
            insertCommand.Parameters.AddWithValue("@Identifier", vat.Identifier);
            insertCommand.Parameters.AddWithValue("@Code", ((object)vat.Code) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Amount", ((object)vat.Amount) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@Description", ((object)vat.Description) ?? DBNull.Value);
            insertCommand.Parameters.AddWithValue("@IsSynced", vat.IsSynced);
            insertCommand.Parameters.AddWithValue("@UpdatedAt", ((object)vat.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);
        }
        private VatViewModel Read(SqliteDataReader query)
        {
            int          counter = 0;
            VatViewModel dbEntry = new VatViewModel();

            dbEntry.Id          = SQLiteHelper.GetInt(query, ref counter);
            dbEntry.Identifier  = SQLiteHelper.GetGuid(query, ref counter);
            dbEntry.Code        = SQLiteHelper.GetString(query, ref counter);
            dbEntry.Amount      = SQLiteHelper.GetDecimal(query, ref counter);
            dbEntry.Description = 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);
        }
Esempio n. 11
0
        public VatResponse Create(VatViewModel Vat)
        {
            VatResponse response = new VatResponse();

            try
            {
                response = WpfApiHandler.SendToApi <VatViewModel, VatResponse>(Vat, "Create");
            }
            catch (Exception ex)
            {
                response.Vat     = new VatViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Esempio n. 12
0
        public VatResponse Delete(Guid identifier)
        {
            VatResponse response = new VatResponse();

            try
            {
                VatViewModel Vat = new VatViewModel();
                Vat.Identifier = identifier;
                response       = WpfApiHandler.SendToApi <VatViewModel, VatResponse>(Vat, "Delete");
            }
            catch (Exception ex)
            {
                response.Vat     = new VatViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Esempio n. 13
0
        public static VatViewModel ConvertToVatViewModelLite(this Vat Vat)
        {
            VatViewModel VatViewModel = new VatViewModel()
            {
                Id         = Vat.Id,
                Identifier = Vat.Identifier,

                Code        = Vat.Code,
                Amount      = Vat.Amount,
                Description = Vat.Description,

                IsActive = Vat.Active,

                UpdatedAt = Vat.UpdatedAt,
                CreatedAt = Vat.CreatedAt
            };

            return(VatViewModel);
        }
        public VatResponse Create(VatViewModel re)
        {
            VatResponse response = new VatResponse();

            try
            {
                Vat addedVat = unitOfWork.GetVatRepository().Create(re.ConvertToVat());

                unitOfWork.Save();

                response.Vat     = addedVat.ConvertToVatViewModel();
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.Vat     = new VatViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Esempio n. 15
0
        public static Vat ConvertToVat(this VatViewModel VatViewModel)
        {
            Vat Vat = new Vat()
            {
                Id         = VatViewModel.Id,
                Identifier = VatViewModel.Identifier,

                Code        = VatViewModel.Code,
                Amount      = VatViewModel.Amount,
                Description = VatViewModel.Description,

                Active = VatViewModel.IsActive,

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

                CreatedAt = VatViewModel.CreatedAt,
                UpdatedAt = VatViewModel.UpdatedAt,
            };

            return(Vat);
        }
        public JsonResult Delete([FromBody] VatViewModel Vat)
        {
            VatResponse response = new VatResponse();

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

            JsonResult result = Json(response, new Newtonsoft.Json.JsonSerializerSettings()
            {
                Formatting            = Newtonsoft.Json.Formatting.Indented,
                ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize
            });

            return(result);
        }
        public VatResponse GetVat(Guid identifier)
        {
            VatResponse  response = new VatResponse();
            VatViewModel vat      = null;

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

                    SqliteDataReader query = selectCommand.ExecuteReader();

                    if (query.Read())
                    {
                        vat = Read(query);
                    }
                }
                catch (SqliteException error)
                {
                    MainWindow.ErrorMessage = error.Message;
                    response.Success        = false;
                    response.Message        = error.Message;
                    response.Vat            = new VatViewModel();
                    return(response);
                }
                db.Close();
            }
            response.Success = true;
            response.Vat     = vat;
            return(response);
        }
Esempio n. 18
0
        public void GetTaxTypeTest()
        {
            VatViewModels vat = new VatViewModels();
            TaxType       tax = new TaxType()
            {
                TaxItem = new List <TaxItemType>()
                {
                    new TaxItemType()
                    {
                        TaxPercent = new TaxPercentType()
                        {
                            TaxCategoryCode = "S", Value = 20
                        },
                        TaxAmount          = 20,
                        TaxAmountSpecified = false
                    }
                }
            };

            vat = VatViewModels.Load(tax);
            VatViewModel vatItem = vat.VatViewList.FirstOrDefault();

            Assert.IsNotNull(vatItem);
        }
Esempio n. 19
0
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (String.IsNullOrEmpty(CurrentVat.Description))
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_polje_naziv"));
                return;
            }

            #endregion

            Thread th = new Thread(() =>
            {
                SubmitButtonContent = ((string)Application.Current.FindResource("Čuvanje_u_tokuTriTacke"));
                SubmitButtonEnabled = false;

                CurrentVat.IsSynced = false;
                CurrentVat.Company  = new CompanyViewModel()
                {
                    Id = MainWindow.CurrentCompanyId
                };
                CurrentVat.CreatedBy = new UserViewModel()
                {
                    Id = MainWindow.CurrentUserId
                };

                VatResponse response = new VatSQLiteRepository().Delete(CurrentVat.Identifier);
                response             = new VatSQLiteRepository().Create(CurrentVat);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_lokalnog_čuvanjaUzvičnik"));
                    SubmitButtonContent     = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled     = true;
                    return;
                }

                response = VatService.Create(CurrentVat);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik")) + response.Message;
                    SubmitButtonContent     = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled     = true;
                }

                if (response.Success)
                {
                    MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Greška_kod_čuvanja_na_serveruUzvičnik"));
                    SubmitButtonContent       = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled       = true;

                    VatCreatedUpdated();

                    if (IsCreateProcess)
                    {
                        CurrentVat            = new VatViewModel();
                        CurrentVat.Identifier = Guid.NewGuid();

                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            txtAmount.Focus();
                        })
                            );
                    }
                    else
                    {
                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            if (IsPopup)
                            {
                                FlyoutHelper.CloseFlyoutPopup(this);
                            }
                            else
                            {
                                FlyoutHelper.CloseFlyout(this);
                            }
                        })
                            );
                    }
                }
            });
            th.IsBackground = true;
            th.Start();
        }