public async Task <IActionResult> Crear([FromBody] CreateSaleDTO model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var fechaHora = DateTime.Now; Sale venta = new Sale { idcliente = model.idcliente, idusuario = model.idusuario, tipo_comprobante = model.tipo_comprobante, serie_comprobante = model.serie_comprobante, num_comprobante = model.num_comprobante, fecha_hora = fechaHora, impuesto = model.impuesto, total = model.total, estado = "Aceptado" }; try { _context.Sales.Add(venta); await _context.SaveChangesAsync(); var id = venta.idventa; foreach (var det in model.detalles) { SalesDetails detalle = new SalesDetails { idventa = id, idarticulo = det.idarticulo, cantidad = det.cantidad, precio = det.precio, descuento = det.descuento }; _context.DetailsSales.Add(detalle); } await _context.SaveChangesAsync(); } catch (Exception ex) { return(BadRequest()); } return(Ok()); }
public async Task <SaleDTO> CreateSale(CreateSaleDTO dto) { var reseller = await _resellerRepository.FindResellerByCPF(dto.CPF); if (reseller != null) { var sale = _mapper.Map <Sale>(dto); sale.StatusSaleId = SalesHelper.SALES_CPF_APPROVED == reseller.CPF ? (int)SaleStatus.Approved : (int)SaleStatus.InValidation; sale.ResellerId = reseller.Id; sale.Reseller = reseller; var insert = _saleRepository.Add(sale); return(_mapper.Map <SaleDTO>(insert)); } return(null); }
public void TestCreateSale() { var returns = new SaleDTO { Code = "12300", Date = DateTime.Now, ResellerId = new Guid("027bc4bb-9b66-4b18-9f9d-8705f87ebc95"), SaleStatus = SaleStatus.InValidation, Value = 23, Status = "Em Validação" }; var create = new CreateSaleDTO { Code = "12300", CPF = "05524947982", Date = DateTime.Now, Value = 23 }; _mock.Setup(x => x.CreateSale(create)).Returns(Task.FromResult(returns)); Assert.AreEqual(create.Code, returns.Code); }
public async Task Sale_Create_Post_OkResponse() { var createSale = new CreateSaleDTO { Code = new Random().Next(1, 50000).ToString(), CPF = "15350946056", Date = DateTime.Now, Value = 200 }; var json = JsonConvert.SerializeObject(createSale); var content = new StringContent(json, Encoding.UTF8, "application/json"); var token = await Authenticate(); _testContext.Client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken); var response = await _testContext.Client.PostAsync("/api/sale", content); response.EnsureSuccessStatusCode(); response.StatusCode.Should().Be(HttpStatusCode.OK); }
public async Task <IActionResult> CreateSale(CreateSaleDTO saleDTO) { if (!ModelState.IsValid) { return(BadRequest(Utils.GetResponse("EmptySale", "The sale is null"))); } ApplicationUser user = await _db.Users.AsNoTracking() .SingleOrDefaultAsync(u => u.Email == saleDTO.UserEmail.ToUpper()); if (user == null) { return(BadRequest(Utils.GetResponse("UserNotFound", "The user not exists"))); } Products product = new Products { ProductName = saleDTO.ProductName, Description = saleDTO.Description, Prize = saleDTO.Prize, PublishedDate = DateTime.Now, EndDate = saleDTO.EndDate }; if (saleDTO.Images != null && saleDTO.Images.Count > 0) { List <ProductImages> images = new List <ProductImages>(); for (int i = 0; i < saleDTO.Images.Count; i++) { images.Add(new ProductImages { Base64 = saleDTO.Images[i], ImageAlt = saleDTO.ProductName, }); } product.ProductImages = images; } product = _db.Products.Add(product).Entity; Sales sale = new Sales { Goal = saleDTO.Goal, Product = product, UserId = user.Id, StatusId = 1 //Opened }; sale = _db.Sales.Add(sale).Entity; List <SalesCategories> categories = new List <SalesCategories>(); for (int i = 0; i < saleDTO.Categories.Count; i++) { categories.Add(new SalesCategories { CategoryId = saleDTO.Categories[i], SaleId = sale.Id }); } sale.Categories = categories; _db.SaveChanges(); return(Ok()); }
public async Task <IActionResult> Create(CreateSaleDTO sale) { var createSale = await _saleService.CreateSale(sale); return(await ResponseAsync(createSale)); }