Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 10
0
        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();
        }
Exemplo n.º 11
0
        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));
        }
Exemplo n.º 13
0
        // GET: Invoice/Details/5
        public ActionResult Details(int id)
        {
            InvoiceDto result =
                _transform.Transform <Invoice, InvoiceDto>(_manager.GetById(id));

            return(View(result));
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
 public async Task <IActionResult> UpdateInvoice(int Id, InvoiceDto invoiceDto)
 {
     invoiceDto.Id = Id;
     return(HandleResult(await Mediator.Send(new Edit.Command {
         invoiceDto = invoiceDto
     })));
 }
Exemplo n.º 19
0
        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));
            }
        }
Exemplo n.º 20
0
        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;
        }
Exemplo n.º 21
0
        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;
            }
        }
Exemplo n.º 22
0
        public int Insert(InvoiceDto model, string userId, int orderId)
        {
            Order   order   = _orderRepo.GetById(orderId);
            Invoice invoice = _mapper.Map <Invoice>(model);

            return(_invoiceRepo.Insert(invoice));
        }
Exemplo n.º 23
0
        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;
            }
        }
Exemplo n.º 24
0
        public async Task CreateInvoice(InvoiceDto input)
        {
            var invoice = ObjectMapper.Map <Invoice>(input);

            invoice.InvoiceNo = GetInvoiceNo();
            await _invoiceRepository.InsertAsync(invoice);
        }
Exemplo n.º 25
0
        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}"));
            }
        }
Exemplo n.º 26
0
        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();
        }
Exemplo n.º 27
0
        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;
            }
        }
Exemplo n.º 28
0
        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);
        }
Exemplo n.º 29
0
        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);
        }
Exemplo n.º 30
0
        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}"));
            }
        }
Exemplo n.º 31
0
        public InvoiceDto GetInvoice(string sessionKey, string invoiceId)
        {
            InvoiceDto retVal = new InvoiceDto();

             long id = 0;
             long.TryParse(invoiceId, out id);
             retVal.Id = id;

             return retVal;
        }