public FrmEditarArticuloPedido(int id, int idPedido) { InitializeComponent(); this.idPedido = idPedido; medidaBindingSource.DataSource = DatosMedida.getMedidas(); if (id == 0) { articuloPedidoBindingSource.Add(new ArticuloPedido()); } else { articuloPedidoBindingSource.Add(DatosArticuloPedido.getArticuloPedido(id)); cbMedida.SelectedItem = ((ArticuloPedido)articuloPedidoBindingSource.Current).Medida; cbMedida.SelectedValue = ((ArticuloPedido)articuloPedidoBindingSource.Current).Medida.Id; ArticuloPedido ap = (ArticuloPedido)articuloPedidoBindingSource.Current; if (ap.Nombre != "") { this.Text = "Editar " + ap.Nombre; } } }
public static ArticuloPedido getArticuloPedido(int id) { ArticuloPedido ap = new ArticuloPedido(); SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("select id, nombre, cantidad, descripcion, idMedida, idPedido from ArticulosPedidos where id = @id"); //asigno la conexion al comando cmd.Parameters.Add(new SqlParameter("@id", id)); cmd.Connection = cnn; //creo el datareader SqlDataReader obdr = cmd.ExecuteReader(); //recorro el datareader while (obdr.Read()) { ap.Id = obdr.GetInt32(0); ap.Nombre = obdr.GetString(1); ap.Cantidad = obdr.GetDouble(2); ap.Descripcion = obdr.GetString(3); ap.Medida = DatosMedida.getMedida(obdr.GetInt32(4)); ap.Pedido = DatosPedido.getPedido(obdr.GetInt32(5)); } cnn.Close(); return(ap); }
protected bool guardarArticuloPedido(ArticuloPedido articuloPedido, int idPedido) { articuloPedido.IdPedido = idPedido; Articulo articuloAux = articuloPedido.Articulo; EstadoArticuloPedido estadoArticuloAux = articuloPedido.EstadoArticuloPedido; List <EstadoArticuloPedido> estadosAux = articuloPedido.EstadosArticuloPedido; articuloPedido.Articulo = null; articuloPedido.EstadosArticuloPedido = null; Token token = (Token)Session["token"]; _articuloPedidoService = new ArticuloPedidoService(token.access_token); int idArticuloPedido = _articuloPedidoService.Guardar(articuloPedido); if (idArticuloPedido == 0) { return(false); } articuloPedido.Id = idArticuloPedido; articuloPedido.Articulo = articuloAux; articuloPedido.EstadosArticuloPedido = estadosAux; return(true); }
private void btnAceptar_Click(object sender, EventArgs e) { try { if (!validaciones()) { return; } ArticuloPedido ap = (ArticuloPedido)articuloPedidoBindingSource.Current; ap.Medida = (Medida)cbMedida.SelectedItem; Pedido p = new Pedido(); p.Id = idPedido; ap.Pedido = p; if (ap.Id == 0) { DatosArticuloPedido.Crear(ap); } else { DatosArticuloPedido.Modificar(ap); } Close(); } catch { MessageBox.Show("Complete todos los campos"); } }
public async Task <IHttpActionResult> Post([FromBody] ArticuloPedido articulo) { var idArticuloPedido = await _articuloPedidoBl.GuardarAsync(articulo); if (idArticuloPedido == 0) { throw new Exception("No se pudo crear el articulo pedido"); } return(Ok(idArticuloPedido)); }
public bool Modificar(ArticuloPedido articuloPedido, int id) { string url = $"http://localhost/restaurant/api/articuloPedidos/{id}"; var respuesta = _restClientHttp.Put <bool>(url, articuloPedido); if (respuesta.StatusName != HttpStatusCode.OK) { return(false); } return(respuesta.Response); }
public int Guardar(ArticuloPedido articuloPedido) { string url = "http://localhost/restaurant/api/articuloPedidos"; var respuesta = _restClientHttp.Post <int>(url, articuloPedido); if (respuesta.StatusName != HttpStatusCode.OK) { return(0); } return(respuesta.Response); }
public async Task <IHttpActionResult> Put([FromBody] ArticuloPedido articulo, int id) { if (id == 0) { throw new Exception("El id del articulo pedido debe ser mayor a cero"); } articulo.Id = id; var esActualizado = await _articuloPedidoBl.ModificarAsync(articulo); if (esActualizado == 0) { throw new Exception("No se pudo actualizar el articulo pedido"); } return(Ok(true)); }
public Task <int> InsertAsync(ArticuloPedido articuloPedido) { const string spName = "sp_insertArticuloPedido"; return(_repository.ExecuteProcedureAsync <int>(spName, new Dictionary <string, object> { { "@p_precio", articuloPedido.Precio }, { "@p_cantidad", articuloPedido.Cantidad }, { "@p_total", articuloPedido.Total }, { "@p_articulo_id", articuloPedido.IdArticulo }, { "@p_pedidoId", articuloPedido.IdPedido }, { "@p_estado_articulo_pedido_id", articuloPedido.IdEstadoArticuloPedido }, { "@p_comentarios", articuloPedido.Comentarios }, { "@p_return", 0 } }, CommandType.StoredProcedure)); }
private void toolStripButton2_Click(object sender, EventArgs e) { try { ArticuloPedido ap = (ArticuloPedido)articuloPedidoBindingSource.Current; if (MessageBox.Show("¿Esta seguro de borrar a " + ap.Nombre + "?", "Eliminar", MessageBoxButtons.YesNo) == DialogResult.Yes) { DatosArticuloPedido.Eliminar(ap); Actualizar(); } } catch { MessageBox.Show("No seleccionó nada"); } }
public static void Eliminar(ArticuloPedido ap) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("delete from ArticulosPedidos Where id = @id"); //Cargo el valor del parametro cmd.Parameters.Add(new SqlParameter("@id", ap.Id)); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); cnn.Close(); }
protected ArticuloPedido crearArticuloPedido(Articulo articulo, int cantidad, string comentarios) { ArticuloPedido nuevoArticuloPedido = new ArticuloPedido(); nuevoArticuloPedido.Articulo = articulo; nuevoArticuloPedido.IdArticulo = articulo.Id; nuevoArticuloPedido.Precio = articulo.Precio; nuevoArticuloPedido.Cantidad = cantidad; nuevoArticuloPedido.Total = nuevoArticuloPedido.Precio * cantidad; nuevoArticuloPedido.Comentarios = comentarios; EstadoArticuloPedido estadoInicialArticuloPedido = new EstadoArticuloPedido(); estadoInicialArticuloPedido.Id = EstadoArticuloPedido.pendiente; estadoInicialArticuloPedido.Nombre = "Pendiente"; nuevoArticuloPedido.EstadosArticuloPedido = new List <EstadoArticuloPedido>(); nuevoArticuloPedido.EstadosArticuloPedido.Add(estadoInicialArticuloPedido); nuevoArticuloPedido.IdEstadoArticuloPedido = estadoInicialArticuloPedido.Id; return(nuevoArticuloPedido); }
public static void Crear(ArticuloPedido ap) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("insert into ArticulosPedidos (nombre, cantidad, descripcion, idMedida, idPedido) values (@nombre, @cantidad, @descripcion, @idMedida, @idPedido)"); //Cargo el valor del parametro cmd.Parameters.Add(new SqlParameter("@nombre", ap.Nombre)); cmd.Parameters.Add(new SqlParameter("@cantidad", ap.Cantidad)); cmd.Parameters.Add(new SqlParameter("@descripcion", ap.Descripcion)); cmd.Parameters.Add(new SqlParameter("@idMedida", ap.Medida.Id)); cmd.Parameters.Add(new SqlParameter("@idPedido", ap.Pedido.Id)); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); cnn.Close(); }
public static void Modificar(ArticuloPedido ap) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("update ArticulosPedidos set nombre = @nombre, cantidad = @cantidad, descripcion = @descripcion, idMedida = @idMedida, idPedido = @idPedido Where id = @id"); //Cargo el valor del parametro cmd.Parameters.Add(new SqlParameter("@id", ap.Id)); cmd.Parameters.Add(new SqlParameter("@nombre", ap.Nombre)); cmd.Parameters.Add(new SqlParameter("@cantidad", ap.Cantidad)); cmd.Parameters.Add(new SqlParameter("@descripcion", ap.Descripcion)); cmd.Parameters.Add(new SqlParameter("@idMedida", ap.Medida.Id)); cmd.Parameters.Add(new SqlParameter("@idPedido", ap.Pedido.Id)); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); cnn.Close(); }
public Task <int> GuardarAsync(ArticuloPedido articuloPedido) { return(_unitOfWork.ArticuloPedidoDal.InsertAsync(articuloPedido)); }
protected void btnAgregarArticuloPedido_Click(object sender, EventArgs e) { validarIngreso(); Page.Validate("ValidacionArticulo"); if (!Page.IsValid) { upModalArticulo.Update(); return; } try { int cantidad = Convert.ToInt32(txtCantidadArticulo.Text); string comentarios = txtComentarioArticulo.Text; int idArticulo = Convert.ToInt32(txtIdArticulo.Text); if (cantidad > 10) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "erroArticulo", "Swal.fire('La cantidad máxima por pedido es de 10 artículos', '', 'error');", true); return; } // Info de artículos disponibles para pedir List <Articulo> articulosDisponibles = (List <Articulo>)Session["articulosDisponibles"]; Articulo articulo = articulosDisponibles.FirstOrDefault(a => a.Id == idArticulo); if (articulo == null) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "erroArticulo", "Swal.fire('Error al agregar artículo', '', 'error');", true); return; } List <ArticuloPedido> articulosPedido = (List <ArticuloPedido>)Session["articulosPedidoCliente"]; Pedido pedidoCliente = (Pedido)Session["pedidoCliente"]; ArticuloPedido nuevoArticuloPedido = crearArticuloPedido(articulo, cantidad, comentarios); articulosPedido.Add(nuevoArticuloPedido); if (pedidoCliente != null) { guardarArticuloPedido(nuevoArticuloPedido, pedidoCliente.Id); } else { btnHacerPedido.Visible = true; } recargarArticulosPedido(articulosPedido); if (pedidoCliente != null) { pedidoCliente.Total = articulosPedido.Sum(x => x.Total); Token token = (Token)Session["token"]; _pedidoService = new PedidoService(token.access_token); pedidoCliente.EstadoPedido = null; pedidoCliente.Reserva = null; bool editar = _pedidoService.Modificar(pedidoCliente, pedidoCliente.Id); } limpiarTabsMenu(articulo.IdTipoConsumo); Session["pedidoCliente"] = pedidoCliente; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalArticulo", "$('#modalArticulo').modal('hide');", true); ScriptManager.RegisterStartupScript(Page, Page.GetType(), "creacionArticulo", "Swal.fire('Artículo agregado al pedido', '', 'success');", true); } catch (Exception ex) { string mensaje = ex != null && ex.Message != null ? ex.Message : "Ocurrió un error inesperado. Intente nuevamente"; ScriptManager.RegisterStartupScript(Page, Page.GetType(), "error", "Swal.fire('Error', '" + mensaje + "', 'error');", true); return; } limpiarTabs(); tabMiOrden.Attributes.Add("class", "nav-link active"); divMiOrden.Attributes.Add("class", "tab-pane active show"); }
private async Task <string> GetHtmlReportePlatos(Usuario usuario, ReporteDto reporte) { var fecha = $"{reporte.FechaDesde.Date:dd-MM-yyyy} al {reporte.FechaHasta.Date:dd-MM-yyyy}"; var solicitante = $"{usuario.Persona.Nombre} {usuario.Persona.Apellido}"; var rutaImagen = "C:\\Storage\\logo_sxxi.png"; var detallePlatos = ""; var pedidos = await _pedidoBl.ObtenerTodosAsync(); pedidos = pedidos.Where(x => x.FechaHoraInicio.Date >= reporte.FechaDesde.Date && x.FechaHoraInicio.Date <= reporte.FechaHasta.Date) .OrderBy(x => x.FechaHoraInicio) .ToList(); var articulos = new List <ArticuloPedido>(); foreach (var x in pedidos) { var articulosPedidos = await _articuloPedidoBl.ObtenerPorIdPedidoAsync(x.Id); articulos.AddRange(articulosPedidos); } articulos = articulos.OrderByDescending(x => x.Cantidad).ToList(); var articulosGroup = articulos.GroupBy(x => x.Articulo.Id).ToList(); var articuloConMasVentas = new ArticuloPedido { Cantidad = 0, Articulo = new Articulo { Nombre = string.Empty } }; var articuloConMenosVentas = new ArticuloPedido { Cantidad = 100, Articulo = new Articulo { Nombre = string.Empty } }; var articulosTemp = new List <ArticuloPedido>(); articulosGroup.ForEach(x => { var cantidad = 0; var nombrePlato = string.Empty; var tipoPlato = string.Empty; articulos.ForEach(b => { if (x.Key == b.Articulo.Id) { cantidad += b.Cantidad; nombrePlato = b.Articulo.Nombre; tipoPlato = b.Articulo.TipoConsumo.Nombre; } }); articulosTemp.Add(new ArticuloPedido { Cantidad = cantidad, Articulo = new Articulo { Nombre = nombrePlato, TipoConsumo = new TipoConsumo { Nombre = tipoPlato } } }); if (cantidad > articuloConMasVentas.Cantidad) { articuloConMasVentas.Cantidad = cantidad; articuloConMasVentas.Articulo.Nombre = nombrePlato; } if (cantidad < articuloConMenosVentas.Cantidad) { articuloConMenosVentas.Cantidad = cantidad; articuloConMenosVentas.Articulo.Nombre = nombrePlato; } }); articulosTemp = articulosTemp.OrderByDescending(x => x.Cantidad).ToList(); foreach (var x in articulosTemp) { detallePlatos += "<tr>"; detallePlatos += $"<td>{x.Articulo.Nombre}</td>"; detallePlatos += $"<td>{x.Articulo.TipoConsumo.Nombre}</td>"; detallePlatos += $"<td>{x.Cantidad}</td>"; detallePlatos += "</tr>"; } if (detallePlatos == string.Empty) { detallePlatos = "<tr><td colspan='3'><p class='no-encontrado text-center'>No se encontraron platos consumidos en el periodo seleccionado</p></td></tr>"; } var platoMasPedido = "-"; var platoMenosPedido = "-"; var unidadesMasPedido = 0; var unidadesMenosPedido = 0; if (articuloConMasVentas.Articulo.Nombre != string.Empty) { platoMasPedido = articuloConMasVentas.Articulo.Nombre; unidadesMasPedido = articuloConMasVentas.Cantidad; } if (articuloConMenosVentas.Articulo.Nombre != string.Empty) { platoMenosPedido = articuloConMenosVentas.Articulo.Nombre; unidadesMenosPedido = articuloConMenosVentas.Cantidad; } return (@"<!DOCTYPE html><html><head><meta charset='utf-8'></meta><style>table{page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}thead{display:table-header-group}tfoot{display:table-footer-group}body{font-family:'Arial','Verdana','Helvetica',Sans-serif;font-size:13px}h1{color:#22776b}h3{color:#383838}.center{margin:0 auto}.w-100{width:100%}.w-50{width:49%}.logo{width:100px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.d-inline-block{display:inline-block;vertical-align:top}.tabla-estilizada{width:100%;margin:25px 0}.tabla-estilizada thead tr{background-color:#009879;color:#fff;text-align:left}.tabla-estilizada thead tr th.transparente{background-color:#fff !important}.tabla-estilizada th, .tabla-estilizada td{padding:12px 15px}.tabla-estilizada tbody tr{border-bottom:1px solid #ddd}.tabla-estilizada tbody tr:nth-of-type(even){background-color:#f3f3f3}.tabla-estilizada tbody tr:last:child{border-bottom:2px solid #009879}.tabla-estilizada.tabla-estilizada-resumen th:nth-child(even){background-color:#efefef;color:#2d2d2d}.tabla-estilizada.egresos thead tr{background-color:#d49292}.tabla-estilizada.ingresos thead tr{background-color:#71a2a5}.tabla-estilizada.egresos td, .tabla-estilizada.ingresos td{text-align:center}.tabla-estilizada.egresos td:last-child, .tabla-estilizada.ingresos td:last-child{text-align:right}.no-encontrado{color:#d49292;font-weight:600}.margen-tabla-resumen{margin-bottom:29px}.p-1{padding:5px!important}</style></head><body><div id='container'><div class='w-100'> <img class='logo' src='" + rutaImagen + "'/></div><div class='w-100 text-center'><h1>Reporte de platos consumidos</h1></div><div class='w-100'><table class='tabla-estilizada tabla-estilizada-resumen'><thead><tr><th>Fecha:</th><th>" + fecha + "</th><th class='transparente p-1'></th><th class='transparente p-1'></th><th>Más pedido</th><th class='text-right'>" + platoMasPedido + "</th><th>Unidades</th><th class='text-right'>" + unidadesMasPedido + "</th></tr><tr><th>Solicitante:</th><th>" + solicitante + "</th><th class='transparente p-1'></th><th class='transparente p-1'></th><th>Menos pedido</th><th class='text-right'>" + platoMenosPedido + "</th><th>Unidades</th><th class='text-right'>" + unidadesMenosPedido + "</th></tr></thead></table></div><div class='w-100'><h3>Detalle de platos pedidos</h3><table class='tabla-estilizada egresos text-left'><thead><tr><th class='text-center'>Nombre del plato</th><th class='text-center'>Tipo de plato</th><th class='text-right'>Unidades pedidas</th></tr></thead><tbody>" + detallePlatos + "</tbody></table></div></div></body></html>"); }
public Task <int> ModificarAsync(ArticuloPedido articuloPedido) { return(_unitOfWork.ArticuloPedidoDal.UpdateAsync(articuloPedido)); }