public async Task <IActionResult> DeleteById([FromRoute] Int32 id) { try { AccessResult <EstadoCompra> result = await Estados.Delete(id); if (!result.IsValid) { return(BadRequest(result.Fault)); } EstadoCompra item = result.Result; return(Ok(new { id = item.Id, nombre = item.Nombre, fecha = DateTime.UtcNow.ToString() })); } catch (ArgumentNullException) { return(BadRequest(new AccessFault("Solicitud incompleta o inválida"))); } catch (Exception e) { return(BadRequest(new AccessFault($"Error no controlado: {e.GetType()}"))); } }
public async Task <IActionResult> Post([FromBody] Transfer.PostEnum data) { EstadoCompra item; try { item = new EstadoCompra { Nombre = data.Nombre }; AccessResult <EstadoCompra> result = await Estados.Post(item); if (!result.IsValid) { return(BadRequest(result.Fault)); } item = result.Result; return(CreatedAtAction(nameof(GetById), new { id = item.Id }, new { id = item.Id, nombre = item.Nombre, creacion = DateTime.UtcNow.ToString() })); } catch (ArgumentNullException) { return(BadRequest(new AccessFault("Datos incompletos o inválidos"))); } catch (Exception e) { return(BadRequest(new AccessFault($"Error no controlado: {e.GetType()}"))); } }
public async Task <CompraUsuario> ProdutosCompradosPorEstado(string userId, EstadoCompra estado) { using (var banco = new ApplicationContext(_optionsbuilder)) { var compraUsuario = new CompraUsuario(); compraUsuario.ListaProdutos = new List <Produto>(); var produtosCarrinhoUsuario = await(from p in banco.Produtos join c in banco.ComprasUsuarios on p.Id equals c.IdProduto where c.UserId.Equals(userId) && c.Situacao == estado select new Produto { Id = p.Id, Nome = p.Nome, Descricao = p.Descricao, Observacao = p.Observacao, Valor = p.Valor, QtdCompra = p.QtdCompra, IdProdutoCarrinho = p.IdProdutoCarrinho, Url = p.Url }).AsNoTracking().ToListAsync(); compraUsuario.ListaProdutos = produtosCarrinhoUsuario; compraUsuario.ApplicationUser = await banco.ApplicationUser.FirstOrDefaultAsync(u => u.Id.Equals(userId)); compraUsuario.QuantidadeProdutos = produtosCarrinhoUsuario.Count(); compraUsuario.EnderecoCompleto = string.Concat(compraUsuario.ApplicationUser.Endereco, " - ", compraUsuario.ApplicationUser.ComplementoEndereco, " - Cep: ", compraUsuario.ApplicationUser.CEP); compraUsuario.ValorTotal = produtosCarrinhoUsuario.Sum(v => v.Valor); compraUsuario.Situacao = estado; return(compraUsuario); } }
public async Task <CompraUsuario> ProdutosCompradosPorEstado(string userId, EstadoCompra estado, int?compraId = null) { using (var banco = new BaseContexto(_OptionsBuilder)) { var compraUsuario = new CompraUsuario(); compraUsuario.ListaProdutos = new List <Produto>(); var produtoCarrinhoUsuario = await(from p in banco.Produto join c in banco.CompraUsuario on p.Id equals c.ProdutoId join co in banco.Compra on c.CompraId equals co.Id where c.UserId.Equals(userId) && c.Estado == estado && co.UserId.Equals(userId) && c.Estado == estado && (compraId == null || co.Id == compraId) select new Produto { Id = p.Id, Nome = p.Nome, Descricao = p.Descricao, Observacao = p.Observacao, Valor = p.Valor, QuantidadeCompra = c.QuantidadeCompra, ProdutoCarrinhoId = c.Id, Url = p.Url, DataCompra = co.DataCompra }).AsNoTracking().ToListAsync(); compraUsuario.ListaProdutos = produtoCarrinhoUsuario; compraUsuario.ApplicationUser = await banco.ApplicationUsers.FirstOrDefaultAsync(u => u.Id.Equals(userId)); compraUsuario.QuantidadeProduto = produtoCarrinhoUsuario.Count(); compraUsuario.EnderecoCompleto = string.Concat(compraUsuario.ApplicationUser.Endereco, " - ", compraUsuario.ApplicationUser.ComplementoEndereco, " - CEP: ", compraUsuario.ApplicationUser.CEP); compraUsuario.ValorTotal = produtoCarrinhoUsuario.Sum(v => v.Valor); compraUsuario.Estado = estado; return(compraUsuario); } }
public async Task <Compra> CompraPorEstado(string userId, EstadoCompra estado) { using (var banco = new BaseContexto(_optionBuilder)) { return(await banco.Compra.FirstOrDefaultAsync(c => c.Estado == estado && c.UserId == userId)); } }
private static EstadoCompra RowToDto(EstadoCompraDS.tbl_estadoCompraRow row) { EstadoCompra objEstadoCompra = new EstadoCompra(); objEstadoCompra.IdEstadoCompra = row.idEstadoCompra; objEstadoCompra.Nombre = row.nombre; return(objEstadoCompra); }
public async Task <AccessResult <EstadoCompra> > Delete(Int64 id) { try { EstadoCompra user = await Get(id); if (user == null) { return(new AccessFault("Estado de compra no existente")); } Estados.Remove(user); await Context.SaveChangesAsync(); return(user); } catch { return(new AccessFault("No se pudo eliminar la información de estado de compra")); } }
public async Task <AccessResult <EstadoCompra> > Post(EstadoCompra item) { try { IEnumerable <EstadoCompra> Estados = (await GetAll()).Result; var lastIndex = Estados.Count() > 0 ? Estados.Max(x => x.Id) : 0; item.Id = lastIndex + 1; if ((await Get(item.Id)).Result != null) { return(new AccessFault("Estado de compra ya existente")); } await Context.EstadoCompra.AddAsync(item); await Context.SaveChangesAsync(); return(item); } catch { return(new AccessFault("No se pudo publicar la información de estado de compra")); } }
internal void finalizarCompra() { estado = EstadoCompra.COMPLETADO; }
public void seHaCompletado() { fechaCompra = DateTime.Now; this.estado = EstadoCompra.EN_PROCESO; }
public Compra() { this.fechaCompra = DateTime.Now; this.estado = EstadoCompra.EN_PROCESO; lineasDeCompra = new List <LineaCompra>(); }