コード例 #1
0
        public static string invoiceItemData(dynamic log_invoice)
        {
            string           json         = "";
            InvoiceItemModel invitem      = new InvoiceItemModel();
            dynamic          invoice_item = invitem.find(invitem, log_invoice.ref_id);

            if (invoice_item != null)
            {
                dynamic dataObject = new ExpandoObject();
                dataObject.id             = log_invoice.id;
                dataObject.key            = log_invoice.action;
                dataObject.trackable_id   = invoice_item.id;
                dataObject.trackable_type = log_invoice.model;
                if (log_invoice.action != "delete")
                {
                    dynamic data = new ExpandoObject();
                    data.global_id         = invoice_item.id;
                    data.name              = invoice_item.name;
                    data.date              = invoice_item.date;
                    data.invoice_global_id = invoice_item.invoice_id;
                    data.product_id        = invoice_item.product_id;
                    data.price             = invoice_item.price;
                    data.total             = invoice_item.total;
                    data.quantity          = invoice_item.quantity;
                    data.unit              = invoice_item.unit;
                    data.vat        = invoice_item.vat;
                    data.discount   = invoice_item.discount;
                    dataObject.data = data;
                }
                json = JsonConvert.SerializeObject(dataObject);
            }
            return(json);
        }
コード例 #2
0
ファイル: LocalDB.cs プロジェクト: pulmuone/BarcodeServer
        public string InvoiceItemInsert(int invoiceId, InvoiceItemModel invoiceItemModel)
        {
            string row;

            using (SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                connection.Open();
                using (SQLiteTransaction mytransaction = connection.BeginTransaction())
                {
                    SQLiteCommand insertCommand = new SQLiteCommand();
                    insertCommand.Transaction = mytransaction;
                    insertCommand.Connection  = connection;
                    insertCommand.CommandText = @"
													INSERT INTO invoice_items(invoice_id, item_id, item_nm, order_qty, scan_qty, create_date) VALUES 
													(@invoice_id, @item_id, @item_nm, @order_qty, @scan_qty, @create_date)
												"                                                ;

                    insertCommand.Parameters.Add("@invoice_id", DbType.Int32);
                    insertCommand.Parameters.Add("@item_id", DbType.String);
                    insertCommand.Parameters.Add("@item_nm", DbType.String);
                    insertCommand.Parameters.Add("@order_qty", DbType.Int32);
                    insertCommand.Parameters.Add("@scan_qty", DbType.Int32);
                    insertCommand.Parameters.Add("@create_date", DbType.String);
                    //insertCommand.Parameters.Add("@modify_date", DbType.String);

                    insertCommand.Parameters[0].Value = invoiceItemModel.InvoiceId;
                    insertCommand.Parameters[1].Value = invoiceItemModel.ItemId;
                    insertCommand.Parameters[2].Value = invoiceItemModel.ItemNm;
                    insertCommand.Parameters[3].Value = invoiceItemModel.OrderQty;
                    insertCommand.Parameters[4].Value = invoiceItemModel.ScanQty;
                    insertCommand.Parameters[5].Value = invoiceItemModel.CreateDate;
                    //insertCommand.Parameters[6].Value = item.ModifyDate;
                    insertCommand.Prepare();
                    int affected1 = insertCommand.ExecuteNonQuery();
                    Console.WriteLine("# of affected row: " + affected1);

                    mytransaction.Commit();

                    SQLiteCommand selectCommand = new SQLiteCommand();
                    selectCommand.Connection  = connection;
                    selectCommand.CommandText = "SELECT SEQ from sqlite_sequence WHERE name = 'invoice_items'";

                    //var result = selectCommand.ExecuteScalarAsync();
                    //row = Convert.ToInt32(result.Result);

                    var result = selectCommand.ExecuteScalarAsync();

                    Console.WriteLine("# result seq : " + result.Result);
                    row = result.Result.ToString();
                }
            }

            return(row);
            //InvoiceItemSearch(invoiceId);
        }
コード例 #3
0
ファイル: Invoice_Frame.cs プロジェクト: nazrulcse/epose
 public void addProduct(dynamic product)
 {
     if (this.inv != null)
     {
         int existing_item = searchExistingItem(product.id);
         if (existing_item != -1)
         {
             DataGridViewRow selected_row = invoiceItems.Rows[existing_item];
             int             quantity     = Int32.Parse(selected_row.Cells["quantity"].Value.ToString());
             string          item_id      = selected_row.Cells["invoiceItemId"].Value.ToString();
             double          total        = product.sale_price;
             this.inv.invoice_total += total;
             quantity += 1;
             InvoiceItemModel inv_item         = new InvoiceItemModel();
             dynamic          obj_invoice_item = inv_item.find(inv_item, item_id);
             if (obj_invoice_item != null)
             {
                 total *= quantity;
                 selected_row.Cells["quantity"].Value = quantity;
                 selected_row.Cells["total"].Value    = total;
                 double invoiceVat = product.sale_price * (product.vat / 100);
                 this.inv.vat += invoiceVat;
                 obj_invoice_item.quantity = quantity;
                 obj_invoice_item.total    = total;
                 obj_invoice_item.vat      = invoiceVat * quantity;
                 obj_invoice_item.save(obj_invoice_item);
                 barcodeInput.Text = "";
                 updateAmount();
             }
             else
             {
                 MessageDialog.ShowAlert("Unable to process the product item!");
             }
         }
         else
         {
             topDisplay.Text = "1" + product.unit + " @ " + Math.Round(product.sale_price, 2) + " Tk";
             double total = product.sale_price * 1;
             total = Math.Round(total, 2);
             this.inv.invoice_total += total;
             //calculate vat per product
             double vat = product.sale_price * (product.vat / 100);
             //add per product vat to total vat
             this.inv.vat += vat;
             string item_id = createLineItem(product);
             this.invoiceItems.Rows.Add(product.id, item_id, product.barcode, product.name, product.unit, Math.Round(product.sale_price, 2), 1, Math.Round(product.vat, 2), "0%", total);
             barcodeInput.Text = "";
             updateAmount();
         }
     }
     else
     {
         MessageBox.Show("Invoice not initialize", "No invoice");
     }
 }
コード例 #4
0
ファイル: EqualsTests.cs プロジェクト: buffaloluk7/MicroERP
        public void Test_InvoiceItemEquatable()
        {
            var ii1      = new InvoiceItemModel(1, "Artikel #1", 10, 10.0m, 0.2m);
            var ii2Isii1 = new InvoiceItemModel(1, "Artikel #1", 10, 10.0m, 0.2m);
            var ii3      = new InvoiceItemModel(2, "Artikel #2", 1, 13.2m, 0.19m);

            Assert.IsTrue(ii1.Equals(ii2Isii1));
            Assert.AreEqual(ii1, ii1);
            Assert.AreEqual(ii1, ii2Isii1);
            Assert.AreNotEqual(ii1, ii3);
        }
コード例 #5
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.ChildNutrition
                .Should()
                .BeNull();
            }
コード例 #6
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.ReplacementItem
                .Should()
                .BeNull();
            }
コード例 #7
0
            public void GoodTest_NotNull()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();

                // act

                // assert
                fakeItem.Nutritional
                .Should()
                .NotBeNull();
            }
コード例 #8
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.BrandExtendedDescription
                .Should()
                .BeNull();
            }
コード例 #9
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.QuantityShipped
                .Should()
                .BeNull();
            }
コード例 #10
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.VendorItemNumber
                .Should()
                .BeNull();
            }
コード例 #11
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.ManufacturerName
                .Should()
                .BeNull();
            }
コード例 #12
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.SubCategoryCode
                .Should()
                .BeNull();
            }
コード例 #13
0
            public void InitalizedTest_HasDefaultValue()
            {
                // arrange
                InvoiceItemModel test = new InvoiceItemModel();

                // act

                // assert
                test.CatchWeight
                .Should()
                .BeFalse();
            }
コード例 #14
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                string           expected = "Fake Brand";

                // act

                // assert
                fakeItem.BrandExtendedDescription
                .Should()
                .Be(expected);
            }
コード例 #15
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                int expected = 1;

                // act

                // assert
                fakeItem.QuantityShipped
                .Should()
                .Be(expected);
            }
コード例 #16
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                bool             expected = true;

                // act

                // assert
                fakeItem.CatchWeight
                .Should()
                .Be(expected);
            }
コード例 #17
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                string           expected = "Fake ManufacturerName";

                // act

                // assert
                fakeItem.ManufacturerName
                .Should()
                .Be(expected);
            }
コード例 #18
0
ファイル: HashcodeTests.cs プロジェクト: buffaloluk7/MicroERP
        public void Test_InvoiceItemHashCode()
        {
            var invoiceItem = new InvoiceItemModel
            {
                ID        = 3,
                Name      = "Artikel",
                Amount    = 10,
                UnitPrice = 12.5m,
                Tax       = 0.2m
            };

            Assert.AreEqual(3, invoiceItem.GetHashCode());
        }
コード例 #19
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                int expected = 2;

                // act

                // assert
                fakeItem.ItemPrice
                .Should()
                .Be(expected);
            }
コード例 #20
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                string           expected = "Fake Kosher";

                // act

                // assert
                fakeItem.Kosher
                .Should()
                .Be(expected);
            }
コード例 #21
0
            public void GoodTest_ReturnsExpectedValue()
            {
                // arrange
                InvoiceItemModel fakeItem = MakeTestData();
                string           expected = "Fake SubCategoryCode";

                // act

                // assert
                fakeItem.SubCategoryCode
                .Should()
                .Be(expected);
            }
コード例 #22
0
        private Worksheet SetCustomColumnWidths(string modelName, Worksheet workSheet)
        {
            uint colIndex = 0;
            int  width    = 0;

            foreach (ExportModelConfiguration config in exportConfig.OrderBy(c => c.Order))
            {
                colIndex++;
                width = 0;
                switch (modelName)
                {
                case ("OrderLine"):
                    width = OrderLine.SetWidths(config, width);
                    break;

                case ("ShoppingCartItem"):
                    width = ShoppingCartItem.SetWidths(config, width);
                    break;

                case ("InvoiceItemModel"):
                    width = InvoiceItemModel.SetWidths(config, width);
                    break;

                case ("Product"):
                    width = Product.SetWidths(config, width);
                    break;

                case ("Order"):
                    width = Order.SetWidths(config, width);
                    break;

                case ("ItemUsageReportItemModel"):
                    width = ItemUsageReportItemModel.SetWidths(config, width);
                    break;

                case ("InvoiceModel"):
                    width = InvoiceModel.SetWidths(config, width);
                    break;

                case ("ListItemModel"):
                    width = ListItemModel.SetWidths(config, width);
                    break;
                }

                if (width > 0)
                {
                    OpenXmlSpreadsheetUtilities.SetColumnWidth(workSheet, colIndex, width);
                }
            }
            return(workSheet);
        }
コード例 #23
0
            public void GoodOrderLine_ReturnsExpectedQuantityShipped()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                int       expected = 1;

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.QuantityShipped
                .Should()
                .Be(expected);
            }
コード例 #24
0
            public void GoodOrderLine_ReturnsExpectedVendorItemNumber()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                string    expected = "Fake VendorItemNumber";

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.VendorItemNumber
                .Should()
                .Be(expected);
            }
コード例 #25
0
            public void GoodOrderLine_ReturnsExpectedSubCategoryCode()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                string    expected = "Fake SubCategoryCode";

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.SubCategoryCode
                .Should()
                .Be(expected);
            }
コード例 #26
0
            public void GoodOrderLine_ReturnsExpectedPackSize()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                string    expected = "Fake Pack / Fake Size";

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.PackSize
                .Should()
                .Be(expected);
            }
コード例 #27
0
            public void GoodOrderLine_ReturnsExpectedCases()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                string    expected = "Fake Cases";

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.Cases
                .Should()
                .Be(expected);
            }
コード例 #28
0
ファイル: EmailService.cs プロジェクト: Yurik72/catering
        public async Task SendWeekInvoice(string userid, DateTime daydate, int comapnyid)
        {
            DateTime first = daydate;

            try
            {
                var model   = _invoicerepo.CustomerInvoice(userid, daydate, comapnyid);
                var avaible = _udaydishrepo.AvaibleComplexDay(daydate, userid, comapnyid);
                var items   = model.Items.ToList();
                if (avaible.Count() > 0 && items.Count() == 0)
                {
                    var inItem = new InvoiceItemModel();
                    inItem.DayComplex      = new UserDayComplexViewModel();
                    inItem.DayComplex.Date = daydate;
                    items.Add(inItem);
                    model.Items = items;
                }

                for (int i = 0; i < 6; i++)
                {
                    daydate = daydate.AddDays(1);
                    avaible = _udaydishrepo.AvaibleComplexDay(daydate, userid, comapnyid);
                    var nextModel = _invoicerepo.CustomerInvoice(userid, daydate, comapnyid);
                    items = model.Items.ToList();
                    if (avaible.Count() > 0 && nextModel.Items.ToList().Count() == 0)
                    {
                        var inItem = new InvoiceItemModel();
                        inItem.DayComplex         = new UserDayComplexViewModel();
                        inItem.DayComplex.Date    = daydate;
                        inItem.DayComplex.Enabled = false;
                        items.Add(inItem);
                    }
                    items.AddRange(nextModel.Items.ToList());
                    model.Items = items;
                }

                string body = await _razorViewToStringRenderer.RenderViewToStringAsync("/Views/Invoice/EmailInvoiceForSend.cshtml", model);

                var user = _userManager.Users.SingleOrDefault(u => u.Id == userid);
                if (user != null)
                {
                    string email = user.Email;
                    await SendEmailAsync(email, string.Format("Харчування на тиждень " + first.ToShortDateString() + " - {0}", daydate.ToShortDateString()), body, comapnyid);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "SendInvoice ");
            }
        }
コード例 #29
0
            public void GoodOrderLine_ReturnsExpectedManufacturerName()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                string    expected = "Fake ManufacturerName";

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.ManufacturerName
                .Should()
                .Be(expected);
            }
コード例 #30
0
            public void GoodOrderLine_ReturnsExpectedBrandExtendedDescription()
            {
                // arrange
                OrderLine testdata = MakeTestData();
                string    expected = "Fake Brand";

                // act
                InvoiceItemModel results = testdata.ToInvoiceItem();

                // assert
                results.BrandExtendedDescription
                .Should()
                .Be(expected);
            }