private InvoiceDto GetServicePurchase() { var dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Service); dto.Date = DateTime.Today.Date; dto.ContactUid = MrSmith.Uid; dto.Summary = "Test POST Purchase"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Order; dto.PurchaseOrderNumber = "<Auto Number>"; var item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 1"; item.AccountUid = ExpenseOffice.Uid; item.TaxCode = TaxCode.ExpInclGst; item.TotalAmountInclTax = 123.45M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 2"; item.AccountUid = ExpenseMisc.Uid; // item.TaxCode = TaxCode.ExpInclGstPrivateNonDeductable; item.TotalAmountInclTax = 678.90M; dto.Items.Add(item); return(dto); }
public static Invoice ToInvoice(this InvoiceDto invoiceDto, Invoice invoice) { invoice.Amount = invoiceDto.Amount; invoice.Identifier = invoiceDto.Identifier; return(invoice); }
private async void OnSelectDiscount(DiscountDto obj) { if (IsBusy) { return; } IsBusy = true; try { // Thuc hien cong viec tai day if (InvoiceBindProp == null) { InvoiceBindProp = new InvoiceDto(); } var discount = new DiscountForInvoiceDto(obj); if (obj.IsPercentage) { discount.Value = obj.Value / 100 * InvoiceBindProp.TotalPrice; } InvoiceBindProp.Discounts.Add(discount); InvoiceBindProp.TotalPrice -= discount.Value; } catch (Exception e) { await ShowErrorAsync(e); } finally { IsBusy = false; } }
// Utility function to create an UpdateInvoice object. private UpdateInvoice getUpdateInvoice(int invoiceId, InvoiceDto invoice = null) { // Get the list of products. IEnumerable <ProductDto> productDtos = getProductDtos(); // Create the UpdateInvoice object with the users, products, and product totals. UpdateInvoice updateInvoice = new UpdateInvoice { productDtos = productDtos, applicationUsers = getUsers(), totals = new ProductTotals(productDtos) }; // If the id is not 0, then this invoice alread exists, so set the dto and other properties. if (invoiceId != 0) { InvoiceDto invoiceDto = invoice == null?getInvoiceDto(invoiceId) : invoice; updateInvoice.invoiceDto = invoiceDto; if (invoiceDto.userId != null) { updateInvoice.user = getUser(invoiceDto.userId); } updateInvoice.invoiceProducts = getViewInvoiceProducts(getProductXInvoices(invoiceId)); } return(updateInvoice); }
private InvoiceDto GetUnpaidServicePurchase(string PONumber = null) { InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Service); dto.Date = DateTime.Today.Date; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test POST Purchase"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Status = InvoiceStatus.Order; dto.PurchaseOrderNumber = "<Auto Number>"; if (!string.IsNullOrWhiteSpace(PONumber)) { dto.PurchaseOrderNumber = PONumber.Trim(); } ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 1"; item.AccountUid = this.ExpenseOffice.Uid; item.TaxCode = TaxCode.ExpInclGst; item.TotalAmountInclTax = 123.45M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Purchase - Line Item 2"; item.AccountUid = this.ExpenseMisc.Uid; // item.TaxCode = TaxCode.ExpInclGstPrivateNonDeductable; item.TotalAmountInclTax = 678.90M; dto.Items.Add(item); return(dto); }
public IActionResult OnGet(int?id) { var t = Request.Cookies["logon"]; if (t == null) { return(RedirectToPage("../Accounts/Login")); } if (t == "false") { return(RedirectToPage("../Accounts/Login")); } if (id == null) { return(NotFound()); } Invoice = _service.GetInvoice(id ?? default(int)); if (Invoice == null) { return(NotFound()); } return(Page()); }
public void CheckQuantityOnOrderAndQuantityCommitted() { CrudProxy proxy = new InventoryItemProxy(); InventoryItemDto dto1 = this.GetInventoryItem(); dto1.RrpInclTax = 7.75M; proxy.Insert(dto1); Assert.IsTrue(dto1.Uid > 0, "Uid must be > 0 after save."); InvoiceDto saleOrder = this.GetSaleOrder(dto1); CrudProxy invoice = new InvoiceProxy(); invoice.Insert(saleOrder); dto1 = (InventoryItemDto)proxy.GetByUid(dto1.Uid); Assert.AreEqual(5, dto1.QuantityCommitted, "Incorrect # of stocks committed (used by sale orders)"); InvoiceDto po = this.GetPurchaseOrder(dto1); po.PurchaseOrderNumber = "<Auto Number>"; invoice.Insert(po); dto1 = (InventoryItemDto)proxy.GetByUid(dto1.Uid); Assert.AreEqual(5, dto1.QuantityCommitted, "Incorrect # of stocks committed (used by sale orders)"); dto1 = (InventoryItemDto)proxy.GetByUid(dto1.Uid); Assert.AreEqual(20, dto1.QuantityOnOrder, "Incorrect # of stocks on order(used by purchase orders)"); }
public List <InvoiceDto> GetSome(string startDate, string endDate, int roomCategoryID = -1, int roomID = -1) { //startDate and endDate must in format MM/dd/yy if (String.IsNullOrEmpty(startDate)) { startDate = InvoiceDto.ConvertDateToString(DateTime.MinValue); } if (String.IsNullOrEmpty(endDate)) { endDate = InvoiceDto.ConvertDateToString(DateTime.Now); } var invoices = this._context.Invoices.AsEnumerable().Where(i => (isBetween(InvoiceDto.ConvertDateToString(i.DateOfInvoice), startDate, endDate)) && (isRentalRoomCategory(i.RoomRentalSlips, roomCategoryID) || (roomCategoryID == -1)) && (isRentalRoom(i.RoomRentalSlips, roomID) || (roomID == -1))).ToList(); var invoiceDtos = new List <InvoiceDto>(); foreach (var invoice in invoices) { invoiceDtos.Add(new InvoiceDto(invoice)); } return(invoiceDtos); }
public InvoiceDto GetSale1() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Item); dto.Date = DateTime.Today; dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Insert Item Sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = dto.Date.AddMonths(1); dto.Layout = InvoiceLayout.Item; dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "<Auto Number>"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 1; item.InventoryItemUid = this.Item1.Uid; item.Description = this.Item1.Description; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = this.Item1.RrpInclTax; dto.Items.Add(item); dto.Tags = "CC"; return(dto); }
public void UpdateCustomer(int id, InvoiceDto invoiceDto) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var invoiceInDb = _context.Invoices.SingleOrDefault(i => i.Id == id); if (invoiceInDb == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } invoiceInDb.DateReturned = DateTime.Now; Mapper.Map(invoiceDto, invoiceInDb); var equipment = _context.Equipment.Single( e => e.Id == invoiceInDb.EquipmentId); equipment.Available++; _context.SaveChanges(); }
public void Index_Post_CorrectNumber_ShouldReturn_ViewAndNotEmtyInvoice() { // Arrange InvoiceDto invoiceDto = new InvoiceDto { }; mockInvoicesService.Setup(s => s.SearchByNumber("123456")).ReturnsAsync(invoiceDto); MainController controller = new MainController(new DeliveryMessage(), mockPostOperatorService.Object, mockInvoicesService.Object); InvoiceViewModel invoiceViewModel = null; try { // Act result = controller.Index(new MainIndexViewModel { Number = "123456" }) as ViewResult; invoiceViewModel = (InvoiceViewModel)result.Model; } catch (Exception ex) { errorMessage = ex.Message + " | " + ex.StackTrace; } // Assert Assert.IsTrue(result.ViewName == "Details", errorMessage); Assert.IsNotNull(invoiceViewModel, errorMessage); }
public IActionResult Details(Guid id) { InvoiceDto invoiceDto = _serviceHost.GetRequiredService <IInvoiceService>().GetInvoice(id); InvoiceViewModel invoiceViewModel = _mapper.Map <InvoiceViewModel>(invoiceDto); return(View(invoiceViewModel)); }
// GET: Invoice/Details/5 public ActionResult Details(int id) { InvoiceDto result = _transform.Transform <Invoice, InvoiceDto>(_manager.GetById(id)); return(View(result)); }
public void Index_Post_UnCorrectNumber_ShouldReturn_DeliveryMessage() { // Arrange InvoiceDto invoiceDto = null; mockInvoicesService.Setup(s => s.SearchByNumber("")).ReturnsAsync(invoiceDto); MainController controller = new MainController(new DeliveryMessage(), mockPostOperatorService.Object, mockInvoicesService.Object); DeliveryMessage deliveryMessage = null; try { // Act result = controller.Index(new MainIndexViewModel { Number = "" }) as ViewResult; deliveryMessage = (DeliveryMessage)result.Model; } catch (Exception ex) { errorMessage = ex.Message + " | " + ex.StackTrace; } // Assert Assert.IsTrue(result.ViewName == "DeliveryMessage", errorMessage); Assert.IsNotNull(deliveryMessage, errorMessage); }
public InvoiceDto GetUnpaidItemSale() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Item); dto.Date = DateTime.Parse("6-Oct-05"); dto.ContactUid = this.MrsSmith.Uid; dto.Summary = "Test Insert Item Sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("6-Nov-05"); dto.Status = InvoiceStatus.Invoice; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO333"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 2; item.InventoryItemUid = this.HardDisk.Uid; item.Description = this.HardDisk.Description; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 120.75M; dto.Items.Add(item); item = new ItemInvoiceItemDto(); item.Quantity = 5.125M; item.InventoryItemUid = this.Cat5Cable.Uid; item.Description = this.Cat5Cable.Description; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 2.555M; dto.Items.Add(item); return(dto); }
public InvoiceDto GetServiceSale2() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("15-Sep-05"); dto.ContactUid = this.MrsSmith.Uid; dto.Summary = "Service Sale 2"; dto.DueOrExpiryDate = DateTime.Parse("15-Dec-05"); dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO123456789"; ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "LINE 1 LINE 1 LINE 1"; item.AccountUid = this.IncomeService.Uid; item.TaxCode = TaxCode.SaleExports; item.TotalAmountInclTax = 12345.12M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Testing"; item.AccountUid = this.IncomeHardwareSales.Uid; item.TaxCode = TaxCode.SaleAdjustments; item.TotalAmountInclTax = -123.9M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Testing"; item.AccountUid = this.IncomeShipping.Uid; item.TaxCode = TaxCode.SaleInclGst; item.TotalAmountInclTax = 569.66M; dto.Items.Add(item); return(dto); }
public InvoiceDto GetUnpaidServiceSale() { InvoiceDto dto = new InvoiceDto(TransactionType.Sale, InvoiceLayout.Service); dto.Date = DateTime.Parse("30-Sep-05"); dto.ContactUid = this.MrsSmith.Uid; dto.Summary = "Test POST sale"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("1-Dec-05"); dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO222"; ServiceInvoiceItemDto item = new ServiceInvoiceItemDto(); item.Description = "Design & Development of REST WS"; item.AccountUid = this.IncomeHardwareSales.Uid; item.TaxCode = "G1"; item.TotalAmountInclTax = 2132.51M; dto.Items.Add(item); item = new ServiceInvoiceItemDto(); item.Description = "Testing"; item.AccountUid = this.IncomeMisc.Uid; item.TaxCode = "G1,G3"; item.TotalAmountInclTax = 11.22M; dto.Items.Add(item); return(dto); }
public async Task <IActionResult> UpdateInvoice(int Id, InvoiceDto invoiceDto) { invoiceDto.Id = Id; return(HandleResult(await Mediator.Send(new Edit.Command { invoiceDto = invoiceDto }))); }
public ActionResult <Invoice> Post(string address, int paymentType, int orderId) { try { if (ModelState.IsValid) { var user = _userService.GetCurrentUser(User.Identity.Name); InvoiceDto model = new InvoiceDto(); model.Address = address; model.PaymentType = (PaymentTypeDto)paymentType; var order = _orderService.GetOrderById(orderId); if (order != null) { model.Order = order; _invoiceService.Insert(model, user.Id, orderId); } } return(Ok("Invoice is successfully created!")); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } }
public void CreateInvoice(InvoiceDto invoice, out Guid?newId) { newId = null; if (invoice == null) { return; } Invoice newInvoice = new Invoice { Id = Guid.NewGuid(), Lines = invoice.Lines?.Select(l => new InvoiceLine { Id = Guid.NewGuid(), Description = l.Description, Qty = l.Qty, Rate = l.Rate }).ToList() }; _unitOfWork.Invoices.Add(newInvoice); _unitOfWork.Commit(); newId = newInvoice.Id; return; }
private async void OnDeleteInvoice(InvoiceDto invoice) { if (IsBusy) { return; } IsBusy = true; try { // Thuc hien cong viec tai day using (var client = new HttpClient()) { HttpResponseMessage response = new HttpResponseMessage(); response = await client.DeleteAsync(Properties.Resources.BaseUrl + "invoices/" + invoice.Id); if (response.IsSuccessStatusCode) { await _connection.InvokeAsync("DeleteInvoice", invoice.Id); } } } catch (Exception e) { await ShowErrorAsync(e); } finally { IsBusy = false; } }
public int Insert(InvoiceDto model, string userId, int orderId) { Order order = _orderRepo.GetById(orderId); Invoice invoice = _mapper.Map <Invoice>(model); return(_invoiceRepo.Insert(invoice)); }
private async void OnInstantPay(InvoiceDto obj) { if (IsBusy) { return; } IsBusy = true; try { // Thuc hien cong viec tai day if (!Application.Current.Properties.ContainsKey("session")) { await PageDialogService.DisplayAlertAsync("Thông báo", "Chưa bắt đầu phiên làm việc!", "Đồng ý"); await NavigationService.NavigateAsync(nameof(SessionPage)); return; } var param = new NavigationParameters(); param.Add(nameof(InvoiceBindProp), obj); await NavigationService.NavigateAsync(nameof(PaymentPage), param); } catch (Exception e) { await ShowErrorAsync(e); } finally { IsBusy = false; } }
public async Task CreateInvoice(InvoiceDto input) { var invoice = ObjectMapper.Map <Invoice>(input); invoice.InvoiceNo = GetInvoiceNo(); await _invoiceRepository.InsertAsync(invoice); }
public IHttpActionResult EditInvoice(int id, InvoiceDto invoiceDto) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var invoiceInDb = Context.Invoices.SingleOrDefault(i => i.Id == id); if (invoiceInDb == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } try { Mapper.Map(invoiceDto, invoiceInDb); Context.SaveChanges(); return(Ok(invoiceInDb)); } catch (Exception e) { Logger.Error(e, e.Message); return(BadRequest($"Error{e.Message}")); } }
public void TestTasks2() { TasksRunner tasksRunner = new TasksRunner(this.WSAccessKey, this.FileUid); IInsertTask insertTask = null; IUpdateTask updateTask = null; this.MrsSmith.PostalAddress.Street = "11/111 ABC Av"; this.MrsSmith.PostalAddress.City = "Sydney"; this.MrsSmith.PostalAddress.State = "NSW"; this.MrsSmith.MobilePhone = "0666 666 666"; updateTask = new UpdateContactTask(); updateTask.EntityToUpdate = this.MrsSmith; tasksRunner.Tasks.Add(updateTask); SaleTests saleTests = new SaleTests(); saleTests.TestFixtureSetUp(); insertTask = new InsertInvoiceTask(); InvoiceDto invoiceDto = saleTests.GetServiceSale(); invoiceDto.ContactUid = 99999; insertTask.EntityToInsert = invoiceDto; tasksRunner.Tasks.Add(insertTask); insertTask = new InsertInvoiceTask(); insertTask.EntityToInsert = saleTests.GetUnpaidItemSale(); tasksRunner.Tasks.Add(insertTask); TasksResponse response = tasksRunner.Execute(); }
private async void OnSelectInvoice(InvoiceDto obj) { if (IsBusy) { return; } IsBusy = true; try { // Thuc hien cong viec tai day InvoiceBindProp = new InvoiceDto(obj); TempInvoiceBindProp = obj; var selectedCategory = ListCategoryBindProp.FirstOrDefault(); selectedCategory.IsSelected = true; CurrentCategory = selectedCategory; InvoiceFrameVisibleBindProp = false; MenuFrameVisibleBindProp = true; ItemFrameVisibleBindProp = true; DiscountFrameVisibleBindProp = false; SettingFrameVisibleBindProp = false; } catch (Exception e) { await ShowErrorAsync(e); } finally { IsBusy = false; } }
private InvoiceDto GetPurchaseOrder(InventoryItemDto itemDto) { InvoiceDto dto = new InvoiceDto(TransactionType.Purchase, InvoiceLayout.Item); dto.Date = DateTime.Parse("6-Oct-05"); dto.ContactUid = this.MrSmith.Uid; dto.Summary = "Test Insert Item Purchase"; dto.Notes = "From REST"; dto.DueOrExpiryDate = DateTime.Parse("6-Nov-05"); dto.Layout = InvoiceLayout.Item; dto.Status = InvoiceStatus.Order; dto.InvoiceNumber = "<Auto Number>"; dto.PurchaseOrderNumber = "PO333"; ItemInvoiceItemDto item = null; item = new ItemInvoiceItemDto(); item.Quantity = 20; item.InventoryItemUid = itemDto.Uid; item.Description = "Asus Laptop"; item.TaxCode = TaxCode.SaleInclGst; item.UnitPriceInclTax = 1200.75M; item.PercentageDiscount = 12.50M; dto.Items.Add(item); return(dto); }
public async Task <bool> GeneratePdfInvoice(Guid invoiceId) { var model = await this.GetInner(invoiceId); var user = _dbCtx.Users.Find(new Guid(_claimPrincipal.Value.Identity.Name)); var lang = string.IsNullOrWhiteSpace(user.Lang) ? _appSettings.Value.DefaultLocale : user.Lang.ToUpper(); var viewModel = new InvoiceDto(); viewModel.Id = model.Id; viewModel.PaymentReceipt = model.ToDto(); viewModel.Settings = await _dbCtx.Settings.Where(x => x.Key.ToLower().StartsWith("company")).Select(x => x.ToDto()).ToArrayAsync(); var html = await _templateService.Value.GetTemplateHtmlAsStringAsync($"Invoice/Invoice_{lang}.cshtml", viewModel); //var html = await _razorViewToStringRenderer.Value.RenderViewToStringAsync($"/Views/Templates/Invoice/Invoice_{_appSettings.Value.DefaultLocale}.cshtml", model.ToDto()); var receiptPath = await _pdfService.Value.CreateReport(html, model.InvoiceNumber, _appSettings.Value.PdfSettings); model = await this.GetInner(invoiceId); model.ReceiptPath = receiptPath.Replace("\\", "/"); _dbCtx.PaymentReceipts.Update(model); await _dbCtx.SaveChangesAsync(); return(true); }
public IHttpActionResult CreateInvoice(InvoiceDto invoiceDto) { if (!ModelState.IsValid) { return(BadRequest()); } var reservations = Context.Reservations.Select(r => r.Id).ToList(); if (!reservations.Contains(invoiceDto.ReservationId)) { return(BadRequest("You need to create an invoice for an existing reservation.")); } var invoice = Mapper.Map <InvoiceDto, Invoice>(invoiceDto); Context.Invoices.Add(invoice); try { Context.SaveChanges(); invoiceDto.Id = invoice.Id; return(Created(new Uri(Request.RequestUri + "/" + invoice.Id), invoiceDto)); } catch (Exception e) { Logger.Error(e, e.Message); return(BadRequest($"Error{e.Message}")); } }
public InvoiceDto GetInvoice(string sessionKey, string invoiceId) { InvoiceDto retVal = new InvoiceDto(); long id = 0; long.TryParse(invoiceId, out id); retVal.Id = id; return retVal; }