public async Task <SupplierReturnModel> UpdateSupplier(SupplierInsertModel model, long supplierId)
        {
            using (var transaction = await _context.Database.BeginTransactionAsync())
            {
                try
                {
                    var supplier = await _context.Suppliers.FirstOrDefaultAsync(s => s.Id == supplierId);

                    if (supplier == null)
                    {
                        throw new SupplierNotFoundException();
                    }

                    _mapper.Map(model, supplier);

                    _context.Suppliers.Update(supplier);
                    await _context.SaveChangesAsync();

                    transaction.Commit();

                    return(_mapper.Map <Supplier, SupplierReturnModel>(supplier));
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }
        public async Task <SupplierReturnModel> AddSupplier(SupplierInsertModel model)
        {
            using (var transaction = await _context.Database.BeginTransactionAsync())
            {
                try
                {
                    var supplier = _mapper.Map <SupplierInsertModel, Supplier>(model);
                    supplier.AddedDate = DateTime.UtcNow;
                    _context.Suppliers.Add(supplier);

                    await _context.SaveChangesAsync();

                    transaction.Commit();

                    return(_mapper.Map <Supplier, SupplierReturnModel>(supplier));
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> UpdateSupplier(long id, [FromBody] SupplierInsertModel model)
        {
            var result = await _supplierService.UpdateSupplier(model, id);

            return(ApiResponder.RespondSuccess(result));
        }
Esempio n. 4
0
        public async Task <IActionResult> InsertSupplier([FromBody] SupplierInsertModel model)
        {
            var result = await _supplierService.AddSupplier(model);

            return(ApiResponder.RespondSuccess(result));
        }