public InvoiceItemList addItemList( SalesOrderItemList salesOrderLines) { InvoiceItemList invItemList = new InvoiceItemList(); int i = 0; InvoiceItem[] Items = new InvoiceItem[salesOrderLines.item.Count()]; foreach (var itemLine in salesOrderLines.item) { Items[i] = new InvoiceItem(); RecordRef item = new RecordRef(); item.type = RecordType.inventoryItem; item.typeSpecified = true; // item.internalId = "1229"; item.internalId = salesOrderLines.item[i].item.internalId; Items[i].item = item; RecordRef prLevel = new RecordRef(); prLevel.type = RecordType.priceLevel; prLevel.internalId = "-1"; prLevel.typeSpecified = true; Items[i].price = prLevel; Items[i].rate = Convert.ToString(salesOrderLines.item[i].rate); Items[i].quantity = salesOrderLines.item[i].quantity; Items[i].quantitySpecified = true; i++; } invItemList.item = Items; return invItemList; }
public InvoiceItem Update(InvoiceItem invoiceItem) { _invoiceItems.Attach(invoiceItem); _repository.Entry(invoiceItem).State = EntityState.Modified; _repository.SaveChanges(); _repository.Entry(invoiceItem).GetDatabaseValues(); return invoiceItem; }
public InvoiceItem Insert(InvoiceItem invoiceItem) { Product myProduct = _products.SingleOrDefault(i => i.ProductId == invoiceItem.ProductId); if (myProduct == null) throw new BusinessLogicException(string.Format("Error when trying to add an invoice item for product #{0}. No product with that ID exists.", invoiceItem.ProductId)); invoiceItem.IsProductTaxable = myProduct.IsTaxable; invoiceItem.ProductDescription = myProduct.Description; _invoiceItems.Add(invoiceItem); _repository.SaveChanges(); _repository.Entry(invoiceItem).GetDatabaseValues(); return invoiceItem; }
private Customer SetupTestSituation() { var lynn = new Customer() { Name = "Lynn" }; //with 2 completed orders var order = new Invoice() { Customer = lynn, Number = "A1201" }; var item = new InvoiceItem() { Invoice = order, Name = "Hiking Boots", Price = 59.99m, Shipped = true }; var order1 = new Invoice() { Customer = lynn, Number = "A1202" }; var item1 = new InvoiceItem() { Invoice = order1, Name = "dress", Price = 159.99m, Shipped = true }; //2 partial orders and 1 pending order order = new Invoice() { Customer = lynn, Number = "A1203" }; item = new InvoiceItem() { Invoice = order, Name = "Hiking Boots", Price = 9.99m, Shipped = false }; item = new InvoiceItem() { Invoice = order, Name = "boots", Price = 129.99m, Shipped = true }; order = new Invoice() { Customer = lynn, Number = "A1205" }; item = new InvoiceItem() { Invoice = order, Name = "hat", Price = 9.99m, Shipped = false }; item = new InvoiceItem() { Invoice = order, Name = "watch", Price = 129.99m, Shipped = false }; return lynn; }
public void CalculateGrossAmount_IncorrectVat_IncorrectGrossAmount() { //Arrange var invoiceItem = new InvoiceItem(); int vatParamter = 120; Exception expectedException = null; //Act try { invoiceItem.SetVatRate(vatParamter); } catch (Exception ex) { expectedException = ex; } //Assert Assert.NotEqual(vatParamter, invoiceItem.GetVatRate()); }
private void dgvInvoiceItems_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex != -1 && e.RowIndex != dgvInvoiceItems.Rows.Count - 1) { selectedItemID = int.Parse(dgvInvoiceItems.Rows[e.RowIndex].Cells[0].Value.ToString()); string Code = dgvInvoiceItems.Rows[e.RowIndex].Cells[1].Value.ToString(); InvoiceItem i = InvoiceItems_DbCommunication.GetItem(Code); tbCode.Text = i.Code; tbName.Text = i.Name; tbTax.Text = i.Tax.ToString(); tbUnit.Text = i.Unit; tbPrice.Text = dgvInvoiceItems.Rows[e.RowIndex].Cells[4].Value.ToString(); tbQuantity.Text = dgvInvoiceItems.Rows[e.RowIndex].Cells[3].Value.ToString(); } else { ClearTextBoxes(); } }
public InvoiceItem ToEntity() { var entity = new InvoiceItem(); entity.Id = Id; entity.Description = Description; entity.Quantity = Quantity; entity.InvoiceId = InvoiceId; entity.DbStatus = (int)DbStatus; entity.UnitPrice = (decimal)UnitPrice; entity.PercentageVAT = PercentageVAT; entity.AmountVAT = (decimal)AmountVAT; entity.TotalPrice = (decimal)TotalPrice; entity.DbStatus = (int)DbStatus; entity.CreatedBy = CreatedBy != null ? CreatedBy.Id : -1; entity.CreatedDate = CreatedDate; entity.UpdatedBy = UpdatedBy?.Id; entity.UpdatedDate = UpdatedDate; return(entity); }
public void AddInvoiceItem(int invoiceId, InvoiceItemDto item) { var invoiceItem = new InvoiceItem() { Name = item.Name, Description = item.Description, Amount = item.Amount, Quantity = item.Quantity, InvoiceId = invoiceId }; _dbInvoiceItem.Add(invoiceItem); _dbInvoiceItem.Save(); var invoice = _dbInvoice.GetAll().First(x => x.Id == invoiceId); var amountToAdd = (invoiceItem.Amount * invoiceItem.Quantity); invoice.TotalAmount = invoice.TotalAmount + amountToAdd; _dbInvoice.Edit(invoice); _dbInvoice.Save(); }
public void SetVatRate_IncorrectVatParameter_ExceptionOccured() { //Arrange var invoiceItem = new InvoiceItem(); int vatParamter = 120; Exception expectedException = null; //Act try { invoiceItem.SetVatRate(vatParamter); } catch (Exception ex) { expectedException = ex; } //Assert Assert.NotNull(expectedException); }
public async Task <ActionResult <InvoiceItem> > Post([FromBody] InvoiceItem value) { try { if (value == null) //TODO: add validators { return(new BadRequestResult()); } var newInvoice = _invoiceMapper.Map(value); var updatedInvoice = await _invoiceRepository.AddAsync(newInvoice); var createdInvoiceItem = _invoiceItemMapper.Map(updatedInvoice); return(new OkObjectResult(createdInvoiceItem)); } catch (Exception e) //TODO middleware { return(_errorService.Catch(e)); } }
public ActionResult Update(Guid id, InvoiceItemApiModel invoiceItemApiModel) { try { ApiResponse serviceResponse = this._invoiceItemService.GetSingle(id); if (serviceResponse.IsSuccess() == false) { return(new ObjectNotFoundResult(serviceResponse)); } InvoiceItem invoiceItem = serviceResponse.GetData <InvoiceItem>(); _invoiceItemMapper.Map(invoiceItemApiModel, invoiceItem); serviceResponse = this._invoiceItemService.Update(invoiceItem); return(SendResponse(serviceResponse)); } catch (Exception ex) { return(new UnknownErrorResult(ex, base._errorEnabled)); } }
public static InvoiceItemDTO ToDTO(this InvoiceItem invoiceItem) { return(new InvoiceItemDTO { ID = invoiceItem.ID, SequenceNo = invoiceItem.SequenceNo, Discount = 0, GST = invoiceItem.GST, Amount = invoiceItem.Amount, Total = invoiceItem.Amount + invoiceItem.GST, Description = invoiceItem.Description != null?invoiceItem.Description.Trim() : null, InvoiceType = invoiceItem.InvocieType, InvoiceID = invoiceItem.InvoiceID, Concurrency = invoiceItem.Concurrency, CreateDate = invoiceItem.CreateDate, ChangeDate = invoiceItem.ChangeDate, JsonInvoiceItem = invoiceItem.JsonInvoiceItem != null?invoiceItem.JsonInvoiceItem.ToDTO() : null, ProductInvoiceItem = invoiceItem.ProductInvoiceItem != null?invoiceItem.ProductInvoiceItem.ToDTO() : null }); }
// GET: InvoiceItems/Create public IActionResult Create(int?InvoiceId, int?ItemId) { InvoiceItem invoiceItem = new InvoiceItem((int)InvoiceId); if (ItemId != null && ItemId != 0) { Item item = _context.Item.Include(i => i.VAT).Include(i => i.UnitOfMeasure).Single(p => p.Id == ItemId); invoiceItem.Quantity = 1; invoiceItem.Name = item.Name; invoiceItem.Price = item.Price; //decimal formatedPrice = decimal.Parse(item.Price.ToString(), System.Globalization.NumberStyles.Currency); //invoiceItem.Price = formatedPrice; invoiceItem.UnitOfMeasureShortName = item.UnitOfMeasure.ShortName; invoiceItem.VATValue = item.VAT.Value; } ViewData["ItemId"] = new SelectList(_context.Item, "Id", "Name"); return(View(invoiceItem)); }
public List <InvoiceItem> SelectAllInvoiceItem() { this.connection.Open(); string select = "SELECT * FROM \"purchase\" FULL JOIN \"orderitem\" ON purchase.Id = orderitem.Id"; this.command = new NpgsqlCommand(select, this.connection); NpgsqlDataReader reader = this.command.ExecuteReader(); List <InvoiceItem> invoices = new List <InvoiceItem>(); while (reader.Read()) { InvoiceItem item = new InvoiceItem((int)reader.GetValue(6), (string)reader.GetValue(8), (string)reader.GetValue(9), (int)reader.GetValue(10), (double)reader.GetValue(11)); item.Id = (int)reader.GetValue(5); invoices.Add(item); } reader.Close(); this.connection.Close(); return(invoices); }
public static InvoiceItem GetItem(string Code) { InvoiceItem item = new InvoiceItem(); SQLiteCommand cmd = new SQLiteCommand($"SELECT * FROM Products WHERE Шифра='{Code}'", connection); connection.Open(); DataTable dt = new DataTable(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd); adapter.Fill(dt); item.Code = dt.Rows[0].ItemArray[1].ToString(); item.Name = dt.Rows[0].ItemArray[2].ToString(); item.Unit = dt.Rows[0].ItemArray[3].ToString(); item.Tax = decimal.Parse(dt.Rows[0].ItemArray[4].ToString()); connection.Close(); return(item); }
public void InsertInvoiceItem_EmptyUnit_ExceptionOccured() { //Arrange InvoiceItem invoiceItem = PrepareInvoiceItem(); invoiceItem.Unit = string.Empty; Exception expectedException = null; //Act try { DBService.InsertInvoiceItem(invoiceItem); } catch (Exception ex) { expectedException = ex; } //Assert Assert.NotNull(expectedException); }
public void InsertInvoiceItem_ZeroAmountGross_ExceptionOccured() { //Arrange InvoiceItem invoiceItem = PrepareInvoiceItem(); invoiceItem.AmountGross = 0; Exception expectedException = null; //Act try { DBService.InsertInvoiceItem(invoiceItem); } catch (Exception ex) { expectedException = ex; } //Assert Assert.NotNull(expectedException); }
public InvoiceItemForm(InvoiceItem item) { InitializeComponent(); this.InvoiceItem = item; buttonFindItem.Click += delegate { OnItemFind(new ItemEventArgs(new Item(textBoxName.Text))); }; textBoxName.KeyDown += delegate(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { buttonFindItem.PerformClick(); } }; textBoxQuantity.KeyDown += delegate(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { buttonOk.PerformClick(); } }; }
public void SetVatRate_IncorrectVatParameter_CorrectExceptionType() { //Arrange var invoiceItem = new InvoiceItem(); int vatParamter = 120; Exception expectedException = null; var argumentOutOfRangeException = new ArgumentOutOfRangeException(); //Act try { invoiceItem.SetVatRate(vatParamter); } catch (Exception ex) { expectedException = ex; } //Assert Assert.AreEqual(argumentOutOfRangeException.GetType(), expectedException.GetType()); }
public void InsertInvoiceItem_NullName_ExceptionOccured() { //Arrange InvoiceItem invoiceItem = PrepareInvoiceItem(); invoiceItem.Name = null; Exception expectedException = null; //Act try { DBService.InsertInvoiceItem(invoiceItem); } catch (Exception ex) { expectedException = ex; } //Assert Assert.IsNotNull(expectedException); }
/// <summary> /// Редактирование элемента накладной /// </summary> private void DoEditItem_Execute(object sender, ExecutedRoutedEventArgs e) { InvoiceItem item = dataGrid.SelectedItem as InvoiceItem; EditItemCountWindow view = (CurrentInvoice.IsPurchase) ? new EditItemCountWindow(item.Count, item.Product.ProductCode, item.Product.Nomination, true, item.ProductCost, item.ProductCoupon) : new EditItemCountWindow(item.Count, item.Product.ProductCode, item.Product.Nomination, item.Product.AllowedCount, false); view.Owner = this; if ((bool)view.ShowDialog()) { Mouse.OverrideCursor = Cursors.Wait; item.Count = view.NewCount; if (CurrentInvoice.IsPurchase) { item.ProductCost = view.NewCost; item.ProductCoupon = view.NewCoupon; } view.Close(); if (item.EditItem(CurrentInvoice.IsPurchase)) { CurrentInvoice.Calc(); CurrentInvoice.EditInvoice(); dataGrid.Items.Refresh(); Dialog.TransparentMessage(this, "Операция выполнена"); } Mouse.OverrideCursor = null; } else { view.Close(); } }
private ModificationInvoice GetModificationInvoice() { var amounts = GetItemAmounts(amount: 100, exchangeRate: 300); var unitAmounts = GetItemAmounts(amount: 100, exchangeRate: 300); var item = new InvoiceItem( consumptionDate: new DateTime(2020, 08, 30), totalAmounts: amounts, description: Description.Create("NIGHT 8/30/2020").Success.Get(), measurementUnit: MeasurementUnit.Night, quantity: -1, unitAmounts: unitAmounts, exchangeRate: ExchangeRate.Create(300).Success.Get() ); var amounts1 = GetItemAmounts(amount: 100, exchangeRate: 300); var unitAmounts1 = GetItemAmounts(amount: 100, exchangeRate: 300); var item1 = new InvoiceItem( consumptionDate: new DateTime(2020, 08, 31), totalAmounts: amounts1, description: Description.Create("NIGHT2 8/31/2020").Success.Get(), measurementUnit: MeasurementUnit.Night, quantity: 1, unitAmounts: unitAmounts1, exchangeRate: ExchangeRate.Create(300).Success.Get() ); return(new ModificationInvoice( number: InvoiceNumber.Create("ABC-18abfcefsaa").Success.Get(), supplierInfo: GetSupplierInfo(), customerInfo: GetCustomerInfo(), items: Sequence.FromPreordered(new[] { item, item1 }, startIndex: 1).Get(), currencyCode: CurrencyCode.Create("USD").Success.Get(), issueDate: new DateTime(2020, 08, 31), paymentDate: new DateTime(2020, 08, 31), itemIndexOffset: 4, modificationIndex: 4, modifyWithoutMaster: true, originalDocumentNumber: InvoiceNumber.Create("ABC-18afasadafa").Success.Get() )); }
public bool Update(InvoiceItem invoiceItem) { try { var local = _uow.Set <InvoiceItem>() .Local .FirstOrDefault(f => f.ID == invoiceItem.ID); if (local != null) { _uow.Entry(local).State = EntityState.Detached; } _invoiceItems.Attach(invoiceItem); _uow.Entry(invoiceItem).State = EntityState.Modified; return(true); } catch (Exception ex) { return(false); } }
private static Dto.LineAmountsNormalType MapLineAmounts(InvoiceItem item) { return(new Dto.LineAmountsNormalType { lineGrossAmountData = new Dto.LineGrossAmountDataType { lineGrossAmountNormal = item.TotalAmounts.Amount.Gross.Value, lineGrossAmountNormalHUF = item.TotalAmounts.AmountHUF.Gross.Value }, lineNetAmountData = new Dto.LineNetAmountDataType { lineNetAmount = item.TotalAmounts.Amount.Net.Value, lineNetAmountHUF = item.TotalAmounts.AmountHUF.Net.Value }, lineVatRate = GetVatRate(item.TotalAmounts.TaxRatePercentage), lineVatData = new Dto.LineVatDataType { lineVatAmount = item.TotalAmounts.Amount.Tax.Value, lineVatAmountHUF = item.TotalAmounts.AmountHUF.Tax.Value } }); }
public InvoiceItem Map(InvoiceItemViewModel invoice_item_vm) { var address_proxy = _service_fact.CreateClient <IAddressService>(); var product_proxy = _service_fact.CreateClient <IProductService>(); var invoice_proxy = _service_fact.CreateClient <IInvoiceService>(); var employee_service = _service_fact.CreateClient <IEmployeeService>(); var type_service = _service_fact.CreateClient <ITypeService>(); var orderItem = new InvoiceItem() { InvoiceItemKey = invoice_item_vm.InvoiceItemKey, InvoiceKey = invoice_item_vm.InvoiceKey, InvoiceItemSeq = invoice_item_vm.InvoiceItemSeq, ProductKey = invoice_item_vm.ProductKey, ProductName = invoice_item_vm.ProductName, ProductDesc = invoice_item_vm.ProductDesc, InvoiceItemQuantity = invoice_item_vm.Quantity, //InvoiceItemShipToAddress = order_item_data.ShiptoAddrKey, OrderItemShipToAddress = address_proxy.GetAddress(invoice_item_vm.InvoiceItemShipAddress.AddressKey), //InvoiceItemBillToAddress = order_item_data.BilltoAddrKey, OrderItemBillToAddress = address_proxy.GetAddress(invoice_item_vm.InvoiceItemBillAddress.AddressKey), //InvoiceItemShipDate = invoice_item_vm.InvoiceItemShipDate, //InvoiceItemCompleteDate = invoice_item_vm.InvoiceItemCompleteDate, ItemPricePer = invoice_item_vm.InvoiceItemPrice, InvoiceItemLineSum = invoice_item_vm.InvoiceLineTotal, InvoiceItemStatus = (QIQOInvoiceItemStatus)type_service.GetInvoiceItemStatusList() .Where(key => key.InvoiceItemStatusName == invoice_item_vm.InvoiceItemStatus) .FirstOrDefault().InvoiceItemStatusKey, //Product InvoiceItemProduct = product_proxy.GetProduct(invoice_item_vm.ProductKey), //Account Rep AccountRep = employee_service.GetAccountRepsByCompany(1)[0], //Sales Rep SalesRep = employee_service.GetSalesRepsByCompany(1)[0] }; return(orderItem); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void InvoiceGrid_DoubleTapped(object sender, System.Windows.Input.MouseButtonEventArgs e) { FrameworkElement element = null; if ((element = e.OriginalSource as FrameworkElement) != null) { m_selectedIndex = Grid.GetRow(element); } InvoiceItem invoiceItem = m_items[m_selectedIndex]; int selectedProductIndex = m_productList.IndexOf(m_productList[invoiceItem.ItemName]); m_fieldsPopup = new InputDetailView(invoiceItem, "Edit the Fields", m_productList, selectedProductIndex); m_fieldsPopup.UpdateRequested += EditDialog_UpdateRequested; m_fieldsPopup.CloseRequested += EditDialog_CloseRequested; m_fieldsPopup.lblTitle.Content = "Edit the Fields"; RootGrid.Opacity = 0.2; m_fieldsPopup.Opacity = 1; m_fieldsPopup.ShowDialog(); RootGrid.Opacity = 1; //FrameworkElement element = null; //if ((element = e.OriginalSource as FrameworkElement) != null) //{ // m_selectedIndex = Grid.GetRow(element); //} //InvoiceItem invoiceItem = m_items[m_selectedIndex]; //int selectedProductIndex = m_productList.IndexOf(m_productList[invoiceItem.Description]); ////m_fieldsPopup = new InputDetailView(invoiceItem, "Edit the Fields", m_productList, selectedProductIndex); //m_fieldsPopup.UpdateRequested += EditDialog_UpdateRequested; //m_fieldsPopup.CloseRequested += EditDialog_CloseRequested; //m_fieldsPopup.lblTitle.Content = "Edit the Fields"; //RootGrid.Opacity = 0.2; //m_fieldsPopup.Opacity = 1; //m_fieldsPopup.ShowDialog(); //RootGrid.Opacity = 1; }
public void PostInvoiceItemTest() { InvoiceItem item = new InvoiceItem() { Amount = 2, TotalPrice = 0, ServiceId = Guid.Parse("BCAD3EFE-2064-4D20-BDC3-5881A8AA1B2C"), InvoiceId = Guid.Parse("75A3489C-6321-4D5C-9061-1AABA0FC8BBA"), PIN = "99888776655" }; int itemBefore = _context.InvoiceItem.Count(); _InvoiceItemController.PostInvoiceItem(item); Assert.IsNotNull(_context.InvoiceItem.FirstOrDefault(x => x.PIN == item.PIN), "Null. No items in DB."); int itemsAfter = _context.InvoiceItem.Count(); Assert.AreNotEqual(itemBefore, itemsAfter, "Number of inovice item is equal before and after insert."); _context.InvoiceItem.Remove(item); _context.SaveChanges(); }
private void AmountTextBox_LostFocus(object sender, RoutedEventArgs e) { double NewAmount; if (double.TryParse(AmountTextBox.Text, out NewAmount) && NewAmount != OriginalAmount) { AmountTextBox.TextChanging -= AmountTextBox_TextChanging; AmountTextBox.Text = NewAmount.ToString("N2"); AmountTextBox.TextChanging += AmountTextBox_TextChanging; InvoiceItem NewItem = this.DataContext as InvoiceItem; NewItem.Amount = NewAmount; MainPage.db.Update(NewItem); CallItemDataChanged(); //TODO: Handle update } else { AmountTextBox.TextChanging -= AmountTextBox_TextChanging; AmountTextBox.Text = OriginalAmount.ToString("N2"); AmountTextBox.TextChanging += AmountTextBox_TextChanging; } }
public InvoiceItemWrapper CreateInvoiceItem( string title, string description, decimal price, string sku, int quantity, int stockQuantity, bool trackInventory, int invoiceTax1id, int invoiceTax2id) { if (!CRMSecurity.IsAdmin) { throw CRMSecurity.CreateSecurityException(); } if (String.IsNullOrEmpty(title) || price == 0) { throw new ArgumentException(); } var invoiceItem = new InvoiceItem { Title = title, Description = description, Price = price, StockKeepingUnit = sku, Quantity = quantity, StockQuantity = stockQuantity, TrackInventory = trackInventory, InvoiceTax1ID = invoiceTax1id, InvoiceTax2ID = invoiceTax2id }; invoiceItem = DaoFactory.GetInvoiceItemDao().SaveOrUpdateInvoiceItem(invoiceItem); MessageService.Send(_context, MessageAction.InvoiceItemCreated, invoiceItem.Title); return(ToInvoiceItemWrapper(invoiceItem)); }
public void Create(AddInvoiceViewModel viewModel) { var invoice = new Invoice { Number = viewModel.Number, CustomerId = viewModel.CustomerId, CreatedOn = PersianDateTime.Parse(viewModel.CreatedOnString).ToDateTime(), Items = new List <InvoiceItem>() }; foreach (var item in viewModel.Items) { var invoiceItem = new InvoiceItem { ProductId = item.ProductId, Price = item.Price, Quantity = item.Quantity }; invoice.Items.Add(invoiceItem); } ServiceFactory.Create <IInvoiceService>().SaveInvoice(invoice); }
public void CalculateTotalNetAmount_CorrectValues_CorrectTotalNetAmount() { //Arrange var invoice = new Invoice(); for (int i = 0; i < 5; i++) { var invoiceItem = new InvoiceItem() { AmountNet = 100, Amount = 1 }; invoice.items.Add(invoiceItem); } //Act invoice.CalculateTotalNetAmount(); //Assert Assert.Equal(500, invoice.TotalNetAmount); }
public async Task <IActionResult> Create(InvoiceItemViewModel invoiceItemVM) { if (!ModelState.IsValid) { return(View(invoiceItemVM)); } Invoice invoice = await _context.Invoices.FirstOrDefaultAsync(o => o.Id == invoiceItemVM.InvoiceId); if (invoice.GetInvoiceIsPaid()) { return(ErrorInvoicePaid()); } InvoiceItem invoiceItem = _mapper.Map <InvoiceItem>(invoiceItemVM); invoiceItem.Invoice = invoice; _context.InvoiceItems.Add(invoiceItem); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(HomeController.Index), new { invoiceId = invoiceItemVM.InvoiceId })); }
public static InvoiceItem ToDomain(this InvoiceItemDTO invoiceItem, InvoiceItem originalInvoiceItem = null) { if (originalInvoiceItem != null && originalInvoiceItem.ID == invoiceItem.ID) { originalInvoiceItem.SequenceNo = invoiceItem.SequenceNo; originalInvoiceItem.Discount = invoiceItem.Discount; originalInvoiceItem.GST = invoiceItem.GST; originalInvoiceItem.Amount = invoiceItem.Amount; originalInvoiceItem.Description = invoiceItem.Description; originalInvoiceItem.InvoiceID = invoiceItem.InvoiceID; originalInvoiceItem.InvocieType = invoiceItem.InvoiceType; originalInvoiceItem.CreateDate = invoiceItem.CreateDate; originalInvoiceItem.ChangeDate = invoiceItem.ChangeDate; originalInvoiceItem.JsonInvoiceItem = invoiceItem.JsonInvoiceItem != null?invoiceItem.JsonInvoiceItem.ToDomain(originalInvoiceItem.JsonInvoiceItem) : null; originalInvoiceItem.ProductInvoiceItem = invoiceItem.ProductInvoiceItem != null?invoiceItem.ProductInvoiceItem.ToDomain(originalInvoiceItem.ProductInvoiceItem) : null; return(originalInvoiceItem); } return(new InvoiceItem() { ID = invoiceItem.ID, SequenceNo = invoiceItem.SequenceNo, Discount = invoiceItem.Discount, GST = invoiceItem.GST, Amount = invoiceItem.Amount, Description = invoiceItem.Description, InvoiceID = invoiceItem.InvoiceID, InvocieType = invoiceItem.InvoiceType, Concurrency = invoiceItem.Concurrency, CreateDate = invoiceItem.CreateDate, ChangeDate = invoiceItem.ChangeDate, JsonInvoiceItem = invoiceItem.JsonInvoiceItem != null?invoiceItem.JsonInvoiceItem.ToDomain() : null, ProductInvoiceItem = invoiceItem.ProductInvoiceItem != null?invoiceItem.ProductInvoiceItem.ToDomain() : null }); }
private void btnSaveInvoice_Click(object sender, RoutedEventArgs e) { // MessageBox.Show("Plik nie istnieje", "Błąd", MessageBoxButton.OK, MessageBoxImage.Error); Invoice invoice = new Invoice(); invoice.SellerData = tbSellerData.Text; invoice.BuyerData = tbBuyerData.Text; invoice.IssueDate = tbIssueDate.SelectedDate; InvoiceFileService.SaveInvoiceFile(invoice); DBService.InsertInvoice(invoice); if (!string.IsNullOrEmpty(tbProductName1.Text)) { InvoiceItem invoiceItem = new InvoiceItem() { Name = tbProductName1.Text, AmountNet = Convert.ToDouble(tbAmount1.Text) }; invoiceItem.SetAmountNet(Convert.ToDouble(tbNettoPrice1.Text)); invoiceItem.SetVatRate(Convert.ToInt32(tbVat1.Text)); invoiceItem.CalculateGrossAmount(); } if (!string.IsNullOrEmpty(tbProductName2.Text)) { InvoiceItem invoiceItem = new InvoiceItem() { Name = tbProductName2.Text, AmountNet = Convert.ToDouble(tbAmount2.Text) }; invoiceItem.SetAmountNet(Convert.ToDouble(tbNettoPrice2.Text)); invoiceItem.SetVatRate(Convert.ToInt32(tbVat2.Text)); invoiceItem.CalculateGrossAmount(); } }
public void DeleteInvoiceItem(InvoiceItem invoiceItem) { invoiceItemRepository.Delete(invoiceItem); }
public JsonResult GenerateInvoice(FormCollection form) { Invoice invoice = new Invoice(); //convert quote into an invoice invoice.Title = form["Title"]; invoice.Description = form["Description"]; invoice.InvoiceNumber = Convert.ToInt32(form["InvoiceNumber"]); invoice.PurchaseOrder = form["PurchaseOrder"]; invoice.ExcludingVAT = Convert.ToBoolean(form["ExcludeVAT"]); invoice.SubValue = _quoteService.GetItemsByQuoteID(Convert.ToInt32(form["QuoteID"])).Sum(q => q.Value); if (invoice.ExcludingVAT == false) { //add on vat invoice.TotalValue = invoice.SubValue + invoice.SubValue * (decimal)0.20; } else { invoice.TotalValue = invoice.SubValue; } //save the new invoice _invoiceService.Save(invoice); //save invoice items List<QuoteItem> quoteItems = _quoteService.GetItemsByQuoteID(Convert.ToInt32(form["QuoteID"])); foreach (var item in quoteItems) { //popular invoice items with quote item data InvoiceItem invoiceItem = new InvoiceItem(); invoiceItem.InvoiceID = invoice.ID; invoiceItem.Title = item.Title; invoiceItem.Value = item.Value; _invoiceService.SaveItem(invoiceItem); //remove quote items _quoteService.DeleteItem(item); } //remove quote Quote quote = _quoteService.GetByID(Convert.ToInt32(form["QuoteID"])); _quoteService.Delete(quote); return Json(new { success = true }); }
internal void ReadInvoice(string editext) { List<Invoice> invoices = new List<Invoice>(); List<InvoiceItem> items = new List<InvoiceItem>(); List<InvoiceCode> codes = new List<InvoiceCode>(); Dictionary<string, string> itdcodes = new Dictionary<string, string>(); itdcodes.Add("01", "Basic"); itdcodes.Add("02", "End of Month"); itdcodes.Add("03", "Fixed Date"); itdcodes.Add("04", "Def. or installment"); itdcodes.Add("05", "Discount N/A"); itdcodes.Add("08", "Basic disc. offered"); itdcodes.Add("09", "Proximo"); itdcodes.Add("12", "10 days after EOM"); itdcodes.Add("14", "Previously agreed"); itdcodes.Add("17", "Terms N/A"); itdcodes.Add("ZZ", "Mutually Defined"); Invoice inv = new Invoice(); InvoiceAddress address = new InvoiceAddress(); char billorship = 'b'; List<string> edilines = editext.Split('~').ToList<string>(); foreach (string line in edilines) { List<string> lineelements = line.Split('*').ToList<string>(); switch (lineelements[0]) { case "ST": // Beginning of invoice inv = new Invoice(); items = new List<InvoiceItem>(); codes = new List<InvoiceCode>(); break; case "BIG": // Beginning statement string dt = lineelements[1].Substring(4, 2) + "-" + lineelements[1].Substring(6, 2) + "-" + lineelements[1].Substring(0, 4); inv.dateAdded = Convert.ToDateTime(dt); inv.number = lineelements[2]; inv.orderID = lineelements[4]; switch (lineelements[7]) { case "CN": inv.invoiceType = "Credit Invoice"; break; case "DI": inv.invoiceType = "Debit Invoice"; break; case "ZZ": inv.invoiceType = "Mutually Defined"; break; } break; case "CUR": inv.billToCurrency = lineelements[2]; break; case "REF": inv.curtOrder = Convert.ToInt32(lineelements[2].Trim()); break; case "N1": switch (lineelements[1]) { case "RI": inv.remitTo = lineelements[4]; break; case "BT": billorship = 'b'; address = new InvoiceAddress(); string[] namesplit = lineelements[2].Split(' '); address.first = namesplit[0]; try { address.last = namesplit[1]; } catch { address.last = ""; } break; case "ST": billorship = 's'; address = new InvoiceAddress(); namesplit = lineelements[2].Split(' '); address.first = namesplit[0]; try { address.last = namesplit[1]; } catch { address.last = ""; } break; } break; case "N2": break; case "N3": address.street1 = lineelements[1]; try { address.street2 = lineelements[2]; } catch { address.street2 = ""; } break; case "N4": address.city = lineelements[1]; address.state = lineelements[2]; address.postal_code = lineelements[3]; address.MatchOrSave(); if (billorship == 'b') inv.billTo = address.ID; else inv.shipTo = address.ID; break; case "ITD": // invoice due statement inv.termsType = itdcodes[lineelements[1]]; inv.discountPercent = Convert.ToDecimal(lineelements[3]); if (lineelements[4].Length == 8) { inv.discountDueDate = Convert.ToDateTime(lineelements[4].Substring(4, 2) + "-" + lineelements[4].Substring(6, 2) + "-2" + lineelements[4].Substring(1, 3)); } inv.discountDueDays = Convert.ToInt32(lineelements[5]); inv.netDueDate = Convert.ToDateTime(lineelements[6].Substring(4, 2) + "-" + lineelements[6].Substring(6, 2) + "-2" + lineelements[6].Substring(1, 3)); inv.netDueDays = Convert.ToInt32(lineelements[7]); inv.termsDescription = lineelements[12]; break; case "IT1": // item in the invoice InvoiceItem i = new InvoiceItem(); try { i.quantity = Convert.ToInt32(lineelements[2]); } catch { i.quantity = 0; } i.price = (lineelements[4].Length > 0) ? Convert.ToDecimal(lineelements[4]) : 0; i.partID = lineelements[9]; i.description = lineelements[15]; /*InvoiceItem i = new InvoiceItem { quantity = Convert.ToInt32(lineelements[2]), price = Convert.ToDecimal(lineelements[4]), partID = lineelements[9], description = lineelements[15] };*/ items.Add(i); break; case "TDS": // totals inv.total = (Convert.ToDecimal(lineelements[1]) / 100); try { inv.subtotal = (Convert.ToDecimal(lineelements[2]) / 100); } catch { }; try { inv.discountTotal = (Convert.ToDecimal(lineelements[3]) / 100); } catch { }; try { inv.discount = (Convert.ToDecimal(lineelements[4]) / 100); } catch { }; break; case "TXI": // special tax line for canadians inv.salesTax = Convert.ToDecimal(lineelements[2]); break; case "SAC": // special codes InvoiceCode c = new InvoiceCode { type = (lineelements[1] == "C") ? "Charge" : "Allowance", code = lineelements[2], value = (Convert.ToDecimal(lineelements[5]) / 100), description = lineelements[15] }; codes.Add(c); break; case "SE": // End of Invoice inv.Save(items, codes); break; } } }
public HttpResponseMessage Add(HttpRequestMessage request, int id, string type, int qty) { bool foundInvoiceItem = false; foreach (InvoiceItem x in SelectedInvoice.InvoiceItems) { if (x.ProductId == id) { x.Quantity += qty; if (x.Quantity <= 0) { RemoveProduct(id, type); } foundInvoiceItem = true; break; } } if (!foundInvoiceItem && qty > 0) { InvoiceItem invItem = new InvoiceItem(); Product product = new Product(); if (type == "Book") { var book = _booksRepository.GetSingle(id); invItem.ProductId = book.ID; invItem.ProductName = book.Name; invItem.ImageUrl = book.ImageUrl; invItem.Quantity = qty; if (book.SpecialOfferPrice == 0) { invItem.Price = book.Price * qty; invItem.Promotion = false; invItem.UnitPrice = book.Price; } else { invItem.Price = book.SpecialOfferPrice * qty; invItem.Promotion = false; invItem.UnitPrice = book.SpecialOfferPrice; } invItem.ShippingCost = book.PostagePrice; invItem.HandlingCost = book.PostagePrice; invItem.Type = "Book"; } else if (type == "Leaflet") { var leaflet = _leafletsRepository.GetSingle(id); invItem.ProductId = leaflet.ID; invItem.ProductName = leaflet.Name; invItem.ImageUrl = leaflet.ImageUrl; invItem.Quantity = qty; if (leaflet.SpecialOfferPrice == 0) { invItem.Price = leaflet.Price * qty; invItem.Promotion = false; invItem.UnitPrice = leaflet.Price; } else { invItem.Price = leaflet.SpecialOfferPrice * qty; invItem.Promotion = false; invItem.UnitPrice = leaflet.SpecialOfferPrice; } invItem.ShippingCost = leaflet.PostagePrice; invItem.HandlingCost = leaflet.PostagePrice; invItem.Type = "Leaflet"; } SelectedInvoice.InvoiceItems.Add(invItem); } HttpResponseMessage response = request.CreateResponse(HttpStatusCode.Created); return response; }
public IList<InvoiceItem> GetDataSource() { List<InvoiceItem> items = new List<InvoiceItem>(); InvoiceItem item = new InvoiceItem(); item.ItemName = Product.WinRT; item.Quantity = "1"; item.Rate = "$ " + Product.WinRTRate; item.Taxes = Product.WinRTax; item.TotalAmount = "$ " + Product.CalcuateTotal(item.Rate, item.Quantity, item.Taxes).ToString(); items.Add(item); //getListItem (item.ItemName, item.Quantity, item.TotalAmount); item = new InvoiceItem(); item.ItemName = Product.WindowsPhone; item.Quantity = "1"; item.Rate = "$ " + Product.WindowsPhoneRate; item.Taxes = Product.WindowsPhoneTax; item.TotalAmount = "$ " + Product.CalcuateTotal(item.Rate, item.Quantity, item.Taxes).ToString(); items.Add(item); return items; }
void DoneButton_Clicked(object sender, EventArgs e) { if (this.ItemPicker.SelectedIndex >= 0 && this.QuantityPicker.SelectedIndex >= 0) { this.Title = "Items"; InvoiceItem invoiceItem = new InvoiceItem(); invoiceItem.ItemName = this.ItemPicker.Items[this.ItemPicker.SelectedIndex]; invoiceItem.Quantity = this.QuantityPicker.Items[this.QuantityPicker.SelectedIndex]; ; invoiceItem.Rate = getRate(this.ItemPicker.SelectedIndex.ToString()); invoiceItem.Taxes = "7"; invoiceItem.TotalAmount = this.AmountEntry.Text; this.ListSource.Add(invoiceItem); if (this.ListStack.IsVisible) { this.ListStack.Children.Add(getListItem(invoiceItem.ItemName, invoiceItem.Quantity, invoiceItem.TotalAmount)); } } this.AddLayout.IsVisible = false; this.MainLayout.IsVisible = true; this.ExportLayout.IsVisible = false; // this.listView.IsVisible = true; this.listView.HeightRequest = this.Height; }
public void Delete(InvoiceItem invoiceItem) { _invoiceItems.Attach(invoiceItem); _repository.Entry(invoiceItem).State = EntityState.Deleted; _repository.SaveChanges(); }
public void AddInvoiceItem(InvoiceItem newInvoiceItem) { }
public ActionResult Checkout(FormCollection collection, ProductViewModel model) { Delivery shipping = new Delivery(); IEnumerable<Book> ifBooks = (IEnumerable<Book>)Session["myBooks"]; IEnumerable<Technology> ifGadget = (IEnumerable<Technology>)Session["myGadget"]; List<CartItem> myItems = (List<CartItem>)Session["myItems"]; myHandler = new BusinessLogicHandler(); #region Get Shipping Data try { shipping = myHandler.GetDeliveryDetails(Convert.ToInt32(collection[1].ToString())); if (ModelState.ContainsKey("I_DeliveryList")) ModelState["I_DeliveryList"].Errors.Clear(); } catch { ModelState.AddModelError("deliveryHelper.DeliveryServicePrice", "Please select a delivery service from dropdown !"); } #endregion #region Cathing model errors var error = ModelState.Values.SelectMany(e => e.Errors); var errors = ModelState .Where(x => x.Value.Errors.Count > 0) .Select(x => new { x.Key, x.Value.Errors }) .ToArray(); #endregion int? IID = 0; if (ModelState.IsValid) { #region Get User string userName = User.Identity.GetUserName(); ApplicationDbContext dataSocket = new ApplicationDbContext(); UserStore<ApplicationUser> myStore = new UserStore<ApplicationUser>(dataSocket); userMgr = new ApplicationUserManager(myStore); var user = userMgr.FindByEmail(userName); #endregion try { #region Creating the reciept/invoice Invoice reciept = new Invoice { User_Id = user.Id, DateCreated = DateTime.Now, DeliveryAddress = model.deliveryHelper.DeliveryAddress, DeliveryServiceID = Convert.ToInt32(collection[1].ToString()), Status = false }; try { InvoiceItem invoiceLine = new InvoiceItem(); invoiceLine = myHandler.GetInvoiceLastNumber(reciept); foreach (var item in myItems) { invoiceLine.CartItemID = item.CartItemID; invoiceLine.ProductID = item.ProductID; invoiceLine.Quantity = item.Quantity; #region Get Product Price bool chk = false; chk = myHandler.CheckProductType(item.ProductID); if (chk) { Book book = new Book(); book = myHandler.GetBook(item.ProductID); invoiceLine.Price = book.SellingPrice; myHandler.AddinvoiceItem(invoiceLine); } else { Technology device = new Technology(); device = myHandler.GetTechnologyDetails(item.ProductID); invoiceLine.Price = device.SellingPrice; myHandler.AddinvoiceItem(invoiceLine); } #endregion } IID = invoiceLine.InvoiceID; } catch { } #endregion #region Placing the order try { #region Prep Utilities Order ord; Book book = new Book(); Technology gadget = new Technology(); int supplierId = 0; OrderItem orderLine = new OrderItem(); myHandler = new BusinessLogicHandler(); List<int> orders = new List<int>(); List<int> suppliers = new List<int>(); #endregion foreach (var item in myItems) { if (myHandler.CheckProductType(item.ProductID)) { book = myHandler.GetBook(item.ProductID); supplierId = book.SupplierID; if (suppliers.Contains(book.SupplierID)) { int x = suppliers.IndexOf(supplierId); orderLine.OrderNo = orders.ElementAt(x); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } else { suppliers.Add(supplierId); ord = new Order { DateCreated = DateTime.Now.Date, SupplierID = supplierId, InvoiceID = IID.GetValueOrDefault(), DateLastModified = DateTime.Now.Date, Status = false }; orderLine = myHandler.AddOrder(ord); orders.Add(orderLine.OrderNo); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } } else { supplierId = ifGadget.SingleOrDefault(m => m.ProductID == item.ProductID).SupplierID; if (suppliers.Contains(supplierId)) { int y = suppliers.IndexOf(supplierId); orderLine.OrderNo = orders.ElementAt(y); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } else { suppliers.Add(supplierId); ord = new Order { DateCreated = DateTime.Now.Date, SupplierID = supplierId, InvoiceID = IID.GetValueOrDefault(), DateLastModified = DateTime.Now.Date, Status = false }; orderLine = myHandler.AddOrder(ord); orders.Add(orderLine.OrderNo); orderLine.ProductID = item.ProductID; orderLine.Quantity = item.Quantity; myHandler.AddOrderItem(orderLine); } } } } catch { } #endregion } catch {/*Navigate to custom error page*/ } Session["deliverData"] = model; return RedirectToAction("Receipt", new { IID = IID }); } else { #region Feed The Model CartItem thishereItem = new CartItem(); try { ProductViewModel.CartHelper cartHelp; List<ProductViewModel.CartHelper> itemList = new List<ProductViewModel.CartHelper>(); double cartTotal = 0; if (myItems != null) { if (ifBooks != null) { var revised = from rev in ifBooks join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); cartTotal += (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } if (ifGadget != null) { var revised = from rev in ifGadget join item in myItems on rev.ProductID equals item.ProductID where rev.ProductID == item.ProductID select new { rev.ProductID, rev.SellingPrice, item.Quantity }; foreach (var ite in revised) { cartHelp = new ProductViewModel.CartHelper(); cartHelp.ProductID = ite.ProductID; cartHelp.TotalPerItem = (ite.SellingPrice * ite.Quantity); cartTotal += (ite.SellingPrice * ite.Quantity); itemList.Add(cartHelp); } } } List<Company> company = new List<Company>(); myHandler = new BusinessLogicHandler(); company = myHandler.GetCompanyDetails(); double vat = 0; foreach (var item in company) { vat = item.VATPercentage; } //calc double vatAmount = (cartTotal * vat); double subTotal = (cartTotal - vatAmount); ProductViewModel.CartConclude finishing = new ProductViewModel.CartConclude(); finishing.CartTotal = cartTotal; finishing.VatAddedTotal = vatAmount; finishing.SubTotal = subTotal; model.ItsA_wrap = new List<ProductViewModel.CartConclude>(); model.ItsA_wrap.Add(finishing); model.deliveryHelper.DeliveryServiceName = shipping.ServiceName; model.deliveryHelper.DeliveryServicePrice = shipping.Price; model.deliveryHelper.DeliveryServiceType = shipping.ServiceType; model.secureCart = itemList; model.allBook = new List<Book>(); model.allBook = ifBooks.ToList() ; model.allCartItem = new List<CartItem>(); model.allCartItem = myItems; model.allTechnology = new List<Technology>(); model.allTechnology = ifGadget.ToList(); } catch { } #endregion #region Drop down data DeliveryHandler deliver = new DeliveryHandler(); IEnumerable<Delivery> delivery = (IEnumerable<Delivery>)deliver.GetDeliveryList(); var dataStore = from name in delivery select new { Value = name.DeliveryServiceID, Text = name.ServiceName }; ViewBag.DeliveryList = new SelectList(dataStore.ToList()); List<SelectListItem> deliveryI = new List<SelectListItem>(); deliveryI.Add(new SelectListItem { Text = "Delivery Service", Value = "", Selected = true }); foreach (var item in delivery) { deliveryI.Add(new SelectListItem { Text = item.ServiceName, Value = item.DeliveryServiceID.ToString() }); } model.I_DeliveryList = new List<SelectListItem>(); model.I_DeliveryList = deliveryI; ViewData["I_Delivery"] = deliveryI; #endregion return View(model); } }