public InvoiceItemDto Delete(IObjectIdentifier <ulong> id)
        {
            var item = _repository.FindById(id);

            _repository.Delete(item.Id);
            return(InvoiceItemDto.FromDomain(item));
        }
        public async Task <IActionResult> Put(int id, [FromBody] InvoiceItemDto updatedInvoiceItemDto)
        {
            if (!ModelState.IsValid || updatedInvoiceItemDto.Id != id)
            {
                return(BadRequest());
            }

            try
            {
                var updatedInvoiceItem = await _context.InvoiceItems.SingleAsync(g => g.Id == id);

                Mapper.Map(updatedInvoiceItemDto, updatedInvoiceItem);
                _context.Entry(updatedInvoiceItem).OriginalValues["RowVersion"] = updatedInvoiceItemDto.RowVersion;

                _context.InvoiceItems.Update(updatedInvoiceItem);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException exception)
            {
                return(Conflict(exception));
            }
            catch (Exception exception)
            {
                return(BadRequest(exception));
            }

            return(new NoContentResult());
        }
Exemple #3
0
        public IActionResult CreateOrUpdateInvoiceItemDialog(int invoiceItemId, int index, bool isAdd, string name, string itemId, int quantity, float price)
        {
            var model = new InvoiceItemDto();

            model.Index = index;
            model.IsAdd = isAdd;
            if (invoiceItemId == 0)
            {
                if (!isAdd)
                {
                    model.Name     = name;
                    model.ItemId   = itemId;
                    model.Quantity = quantity;
                    model.Price    = price;
                }
                return(PartialView("_CreateOrUpdateInvoiceItemDialog", model));
            }
            else
            {
                model       = _invoiceItemService.GetById(invoiceItemId);
                model.Index = index;
                model.IsAdd = isAdd;
            }
            return(PartialView("_CreateOrUpdateInvoiceItemDialog", model));
        }
        // GET: InvoiceItem
        public virtual ActionResult Create(int invoiceId)
        {
            var newItem = new InvoiceItemDto()
            {
                InvoiceId = invoiceId
            };

            return(View(newItem));
        }
        public virtual ActionResult Create(InvoiceItemDto invoiceItem)
        {
            invoiceItem.CreatedBy = new UserDto()
            {
                Id = 1
            };                                                // for test purpose only
            InvoiceItemBL.Create(invoiceItem);

            return(RedirectToAction("Edit", "Invoice", new { Id = invoiceItem.InvoiceId }));
        }
        public void UpdateInvoiceItem(InvoiceItemDto item)
        {
            var invoiceItem = _dbInvoiceItem.GetAll().First(x => x.Id == item.Id);

            invoiceItem.Id          = item.Id;
            invoiceItem.Name        = item.Name;
            invoiceItem.Description = item.Description;
            invoiceItem.Amount      = item.Amount;
            invoiceItem.Quantity    = item.Quantity;
            invoiceItem.InvoiceId   = item.InvoiceId;
            _dbInvoiceItem.Edit(invoiceItem);
            _dbInvoiceItem.Save();
        }
Exemple #7
0
        public InvoiceLineItem BuildEntity(InvoiceItemDto dto)
        {
            var lineItem = new InvoiceLineItem(dto.LineItemTfKey, dto.Name, dto.Sku, dto.Quantity, dto.Price,
                                               string.IsNullOrEmpty(dto.ExtendedData) ? new ExtendedDataCollection() : new ExtendedDataCollection(dto.ExtendedData))
            {
                Key          = dto.Key,
                ContainerKey = dto.ContainerKey,
                Exported     = dto.Exported,
                UpdateDate   = dto.UpdateDate,
                CreateDate   = dto.CreateDate
            };

            lineItem.ResetDirtyProperties();

            return(lineItem);
        }
Exemple #8
0
        /// <summary>
        /// The build dto.
        /// </summary>
        /// <param name="entity">
        /// The entity.
        /// </param>
        /// <returns>
        /// The <see cref="InvoiceItemDto"/>.
        /// </returns>
        public InvoiceItemDto BuildDto(IInvoiceLineItem entity)
        {
            var dto = new InvoiceItemDto()
            {
                Key           = entity.Key,
                ContainerKey  = entity.ContainerKey,
                LineItemTfKey = entity.LineItemTfKey,
                Sku           = entity.Sku,
                Name          = entity.Name,
                Quantity      = entity.Quantity,
                Price         = entity.Price,
                ExtendedData  = entity.ExtendedData.SerializeToXml(),
                Exported      = entity.Exported,
                UpdateDate    = entity.UpdateDate,
                CreateDate    = entity.CreateDate
            };

            return(dto);
        }
        public async Task <ActionResult <InvoiceItemDto> > UpdateInvoiceItem(int id, InvoiceItemDto newItem)
        {
            var item = await _unitOfWork.Repository <InvoiceItem>().GetByIdAsync(id);

            if (item == null)
            {
                return(NotFound(new ApiResponse(404)));
            }

            _mapper.Map(newItem, item);

            _unitOfWork.Repository <InvoiceItem>().Update(item);

            if (await _unitOfWork.Repository <InvoiceItem>().SaveAllAsync())
            {
                return(Ok(item));
            }

            return(BadRequest(new ApiResponse(400, "failed to update invoice item")));
        }
        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 async Task <ActionResult <InvoiceItemDto> > AddNewItem([FromBody] InvoiceItemDto newItemDto)
        {
            if (ModelState.IsValid)
            {
                var item = _mapper.Map <InvoiceItem>(newItemDto);

                var spec = new InvoiceWithCustomerAndItemsSpecification(newItemDto.InvoiceId);

                var invoice = await _unitOfWork.Repository <Invoice>().GetEntityWithSpecAsync(spec);

                item.Invoice = invoice;

                await _unitOfWork.Repository <InvoiceItem>().AddAsync(item);

                if (await _unitOfWork.Repository <InvoiceItem>().SaveAllAsync())
                {
                    return(Ok(_mapper.Map <InvoiceItemDto>(item)));
                }
            }
            return(BadRequest("failed to add item"));
        }
        public async Task <IActionResult> Post([FromBody] InvoiceItemDto newInvoiceItemDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var newInvoiceItem = Mapper.Map <InvoiceItem>(newInvoiceItemDto);

            try
            {
                await _context.InvoiceItems.AddAsync(newInvoiceItem);

                await _context.SaveChangesAsync();
            }
            catch (Exception exception)
            {
                return(BadRequest(exception));
            }

            return(CreatedAtRoute("", new { id = newInvoiceItem.Id }, Mapper.Map <InvoiceItemDto>(newInvoiceItem)));
        }
 public ActionResult CreateInvoiceItem(InvoiceItemDto invoiceItem)
 {
     client.PostDtoSync(invoiceItem, ApiResources.InvoiceItem);
     return(RedirectToAction(nameof(Index)));
 }
 public ItemDto(PaymentOrderPaymentOptionsItems item)
 {
     CreditCard = new CreditCardItemDto(item.CreditCard);
     Invoice    = new InvoiceItemDto(item.Invoice);
     Swish      = new SwishItemDto(item.Swish);
 }
 public void Update(InvoiceItemDto model)
 {
     _invoiceItemRepository.Update(model.Id, _mapper.Map <InvoiceItem>(model));
     _invoiceItemRepository.SaveChanges();
 }
 public InvoiceItemDto Create(InvoiceItemDto entity)
 {
     throw new System.NotImplementedException();
 }
 public InvoiceItemDto GetById(IObjectIdentifier <ulong> id) => InvoiceItemDto.FromDomain(_repository.FindById(id));
 public void Create(InvoiceItemDto model)
 {
     _invoiceItemRepository.Create(_mapper.Map <InvoiceItem>(model));
     _invoiceItemRepository.SaveChanges();
 }
 public InvoiceItemDto Delete(InvoiceItemDto item)
 {
     _repository.Delete(item.Id);
     return(item);
 }