Example #1
0
        private async void LoadDataTransactions()
        {
            List <CommonSale> list = await SASale.GetAllSales(tbSearchTransactions.Text);

            foreach (CommonSale Item in list)
            {
                double temp = Item.TotalPrice;
                Item.ParsePrice = (temp / 100).ToString();
            }
            dgvTransactions.DataSource = list;
        }
        private async void btnFinish_Click(object sender, EventArgs e)
        {
            List <CommonContract> list = await SAContract.GetAllContracts("Direct Sale");

            if (list.Count > 1 || list.Count == 0)
            {
                MessageBox.Show("Can not find direct sale user!");
                return;
            }

            CommonSale s = new CommonSale();

            s.BuyerId   = list.First().PartnerId;
            s.SellerId  = (DataHolder.Owner.OwnerId);
            s.SoldItems = new List <CommonSoldItem>();


            foreach (DataGridViewRow row in dgvSoldGoods.Rows)
            {
                var index = (int)row.Cells[6].Value;
                KeyValuePair <int, decimal> pair = DataHolder.Settings.VatSettingsByGroup.FirstOrDefault(p => p.Key == index);
                var item = new CommonSoldItem();
                if (row.Cells[5].Value != null)
                {
                    item.Price    = (1 + pair.Value) * decimal.Parse(row.Cells[3].Value.ToString());
                    item.Quantity = int.Parse(row.Cells[1].Value.ToString());
                    item.ItemId   = (Guid)row.Cells[5].Value;

                    s.SoldItems.Add(item);
                }
            }

            var sale = await SASale.PostCreateDirectSale(s);

            if (sale == null)
            {
                errorLabel.Visible = true;
                errorLabel.Text    = "not_enough_quantity";
            }
            else
            {
                ClearAll();
            }

            SalesReceiptForm form = new SalesReceiptForm(sale);

            if (form.ShowDialog() == DialogResult.OK)
            {
            }
        }
        private async void btnGenerateInvoice_Click(object sender, EventArgs e)
        {
            //cbSearchContract.SelectedIndex = -1;
            CommonSale s = new CommonSale();

            s.BuyerId   = ((CommonContract)cbSearchContract.SelectedItem).PartnerId;
            s.SellerId  = DataHolder.PrimeryMol.MolId;//remove
            s.SellerId  = (DataHolder.Owner.OwnerId);
            s.SoldItems = new List <CommonSoldItem>();

            foreach (DataGridViewRow row in dgvSoldGoods.Rows)
            {
                var index = (int)row.Cells[6].Value;
                KeyValuePair <int, decimal> pair = DataHolder.Settings.VatSettingsByGroup.FirstOrDefault(p => p.Key == index);
                var item = new CommonSoldItem();
                if (row.Cells[5].Value != null)
                {
                    item.Price    = (1 + pair.Value) * decimal.Parse(row.Cells[3].Value.ToString());
                    item.Quantity = int.Parse(row.Cells[1].Value.ToString());
                    item.ItemId   = (Guid)row.Cells[5].Value;

                    s.SoldItems.Add(item);
                }
            }

            var sale = await SASale.PostCreateWholeSale(s);

            if (sale == null)
            {
                MessageBox.Show("Sale not saved!");
                return;
            }
            ClearAll();



            InvoiceTemplateForm form = new InvoiceTemplateForm(sale);

            if (form.ShowDialog() == DialogResult.OK)
            {
            }
        }
        private async void LoadDataFromDb()
        {
            CommonWarehouseReceipt receipt = await SASale.GetReceipt(Sale.SaleId);

            mlLabel17.Text = receipt.BuyerCompanyName;
            mlLabel15.Text = receipt.BuyerVATNumber;
            mlLabel13.Text = receipt.BuyerBulstat;
            mlLabel7.Text  = receipt.BuyerMol;
            labelMolS.Text = receipt.BuyerMol;
            mlLabel9.Text  = receipt.BuyerAddress;
            labelSalesReceiptNumber.Text = receipt.WarehouseReceiptNumber.ToString().PadLeft(10, '0');
            mlLabelSalesReceiptDate.Text = Sale.Date.ToString(CultureInfo.InvariantCulture);
            mlLabel24.Text        = receipt.OwnerCompanyName;
            mlLabel23.Text        = receipt.OwnerVATNumber;
            mlLabel22.Text        = receipt.OwnerBulstat;
            mlLabel21.Text        = receipt.OwnerAddress;
            mlLabel20.Text        = receipt.OwnerMol;
            labelSuplierMolS.Text = receipt.OwnerMol;


            decimal totalBoth   = 0;
            decimal ddsTotal    = 0;
            decimal totatAmount = 0;


            List <GridItem> items = new List <GridItem>();

            foreach (var soldItem in Sale.SoldItems)
            {
                CommonItem item = await SAItem.GetItemsById(soldItem.ItemId.ToString());

                if (item != null)
                {
                    GridItem gridItem = new GridItem();
                    gridItem.Name     = item.Name;
                    gridItem.Quantity = soldItem.Quantity.ToString();
                    if (DataHolder.UserCulture.TwoLetterISOLanguageName == "bg")
                    {
                        Enums.UnitTypesBg types = (Enums.UnitTypesBg)item.MeasurmentUnit;
                        gridItem.MeasurementUnitString = types.ToString();
                    }
                    else
                    {
                        Enums.UnitTypes types = (Enums.UnitTypes)item.MeasurmentUnit;
                        gridItem.MeasurementUnitString = types.ToString();
                    }
                    decimal temp = item.SellingPriceCent;
                    gridItem.Price = temp / 100;
                    var vatPercent = DataHolder.Settings.VatSettingsByGroup.FirstOrDefault(p => p.Key == item.Type);
                    gridItem.Total = soldItem.Quantity * gridItem.Price;
                    items.Add(gridItem);

                    totatAmount += gridItem.Price * soldItem.Quantity;
                    ddsTotal    += (gridItem.Price * soldItem.Quantity) * vatPercent.Value;
                    totalBoth   += (gridItem.Price * soldItem.Quantity) + ((gridItem.Price * soldItem.Quantity) * vatPercent.Value);
                }
            }
            dgvItemsS.DataSource = items;
            labelAmountS.Text    = totatAmount.ToString();
            labelTotalS.Text     = totalBoth.ToString();
            labelDDSS.Text       = ddsTotal.ToString();

            // do not change set grid size and export method order!
            SetGridSize();
            if (SavePdf)
            {
                ExportInvoiceToPdf();
            }
        }