public List<iEntidad> pasteTo(DataTable dt, DataTable dt2) { List<iEntidad> res = new List<iEntidad>(); foreach (DataRow dr in dt.Rows) { Pedido aux = new Pedido(); ManejaProducto manejaProducto = new ManejaProducto(); List<Producto> producto = new List<Producto>(); aux.Id = (int)dr["IdPedido"]; foreach (DataRow dr2 in dt2.Rows) { if ((int)dr["IdPedido"] == (int)dr2["IdPedido"]) { aux.Fecha = (DateTime)dr2["Fecha"]; aux.Cantidad = (int)dr2["Cantidad"]; Producto popo = (Producto)manejaProducto.buscaPorId((int)dr2["IdProducto"]); popo.Stock = (int)dr2["Cantidad"]; producto.Add(popo); } } if(producto.Count > 0) aux.Proveedor = producto[0].Proveedor; aux.Productos = producto; res.Add(aux); } return res; }
public static void actualizarStock(DetallePedido detPedido, SqlConnection con, SqlTransaction trans, Pedido pedido, List<Producto> productosConPocaMP) { DataTable ProductosIntermedio; DataTable MateriaPrima; DataTable DetallePlan; int idProductoFinal = 0; int idProductoIntermedio = 0; double cantidad = 0; idProductoFinal = detPedido.producto.idProducto;//OBTENEMOS EL ID DEL PRODUCTO FINAL cantidad = detPedido.cantidad;//OBTENEMOS LA CANTIDAD DE PRODUCTOS if (ProductoDAO.verificarProductoPlanificado(pedido.fechaNecesidad.Date, idProductoFinal, con,trans) == true)//PREGUNTAMOS SI PARA ESE PRODUCTO YA HAY UN DETALLE DEL PLAN PARA ESA FECHA Y ES TRUE { DetallePlan = DetallePlanProduccionDAO.GetDetallePlanXProducto(idProductoFinal, pedido.fechaNecesidad.Date,con, trans);//OBTENEMOS LOS DATOS DEL DETALLE DEL PLAN actualizarDetallePlanYPedidoXPlan(DetallePlan, pedido.idPedido, con, trans, cantidad); MateriaPrima = ProductoDAO.GetMateriaPrima(idProductoFinal,trans,con);//CARGAMOS EN LA TABLA LOS DATOS DE LAS MATERIAS PRIMAS DataTable MateriaPrimaXIntermedio = new DataTable(); ProductosIntermedio = ProductoDAO.GetProductoIntermedio(idProductoFinal,con,trans);//CARGAMOS EN LA TABLA LOS DATOS DE LOS PRODUCTOS INTERMEDIO obtenerMateriasPrimas(MateriaPrima, MateriaPrimaXIntermedio, ProductosIntermedio, cantidad, idProductoFinal, con, trans, productosConPocaMP); } else { if (ProductoDAO.verificarPlanSinProducto(pedido.fechaNecesidad.Date, idProductoFinal, con, trans) == true)//PREGUNTAMOS SI PARA ESE PRODUCTO YA HAY UN DETALLE DEL PLAN PARA ESA FECHA Y ES TRUE { Producto prodNuevo = new Producto(); prodNuevo.idProducto = idProductoFinal; DetallePlanProduccion detallePlanProduccion = new DetallePlanProduccion() { fechaProduccion = pedido.fechaNecesidad, idPlan = PlanMaestroProduccionDAO.obtenerIdPlan(pedido.fechaNecesidad.Date), cantidadPLan = 0, producto = prodNuevo, cantidadPedido = double.Parse(cantidad.ToString()) }; cargarNuevoDetallePlanYPedidoXPlan(detallePlanProduccion, con, trans, pedido); MateriaPrima = ProductoDAO.GetMateriaPrima(idProductoFinal,trans,con);//CARGAMOS EN LA TABLA LOS DATOS DE LAS MATERIAS PRIMAS DataTable MateriaPrimaXIntermedio = new DataTable(); ProductosIntermedio = ProductoDAO.GetProductoIntermedio(idProductoFinal,con,trans);//CARGAMOS EN LA TABLA LOS DATOS DE LOS PRODUCTOS INTERMEDIO obtenerMateriasPrimas(MateriaPrima, MateriaPrimaXIntermedio, ProductosIntermedio, cantidad, idProductoFinal, con, trans, productosConPocaMP); } } }
private void btnPedir_Click(object sender, EventArgs e) { if (dtPedido.Rows.Count <= 0) { MessageBox.Show("Debe selecionar al menos un producto", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Pedido pedido = new Pedido(); pedido.Fecha = System.DateTime.Today; pedido.Productos = new List<Producto>(); for (int i = 0; i < dtPedido.Rows.Count; i++) { Producto aux = new Producto(); aux = Devuelve.Producto((Convert.ToInt32(dtPedido.Rows[i]["IdProducto"]))); aux.Stock = Convert.ToInt32(dtPedido.Rows[i]["Cantidad"]); pedido.Productos.Add(aux); foreach (Proveedor p in Devuelve.Proveedores()) { if (cbProveedor.Text == p.Nombre) pedido.Proveedor = p; } } try { Agrega.Pedido(pedido); MessageBox.Show("Pedido registrado con exito", "Operacion completa"); } catch (Exception e2) { MessageBox.Show(e2.Message, "Se produjo el siguiente error"); } } }
private void cargarCliente(int id) { ped=PedidoDAO.GetById(id); txt_apellido.Text = ped.cliente.Apellido.ToString(); txt_nombre.Text = ped.cliente.Nombre.ToString(); txt_razon_social.Text = ped.cliente.RazonSocial.ToString(); txt_cuit.Text = ped.cliente.cuil.ToString(); txt_nro_doc.Text = ped.cliente.NroDoc.ToString(); cmb_tipo_doc.SelectedValue = ped.cliente.TipoDoc.IDTipoDoc; cmb_iva.SelectedValue = ped.cliente.condicionIVA.idCondicionIVA; txt_monto_total.Text = ped.montoTotal.ToString(); cargarGrillaDetalle(ped.idPedido); }
public static Pedido Pedido(int id) { ManejaPedido manejaPedido = new ManejaPedido(); Pedido res = new Pedido(); res = (Pedido)manejaPedido.buscaPorId(id); return res; }
public static List<Pedido> GetAll() { Acceso ac = new Acceso(); List<Pedido> pedidos = new List<Pedido>(); string sql = "SELECT * from CONSULTA_PEDIDOS ORDER BY fechaNecesidad DESC"; SqlCommand cmd = new SqlCommand(); SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); try { conexion.Open(); cmd.Connection = conexion; cmd.CommandText = sql; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); Pedido p; Estado e; Persona c; TipoDocumento t; while (dr.Read()) { c = new Persona(); t = new TipoDocumento(); t.IDTipoDoc = Convert.ToInt32(dr["idTipoDoc"]); c.RazonSocial = dr["razonSocial"].ToString(); c.Nombre = dr["nombre"].ToString(); c.Apellido = dr["apellido"].ToString(); c.cuil = dr["CUIT"].ToString(); c.NroDoc = Convert.ToInt32(dr["nroDocumento"]); c.TipoDoc = t; e = new Estado (); e.idEstado = Convert.ToInt32(dr["idEstado"]); e.Nombre = dr["estado"].ToString(); p = new Pedido(); p.idPedido = Convert.ToInt32(dr["idPedido"]); p.fechaNecesidad = Convert.ToDateTime(dr ["fechaNecesidad"]); p.fechaPedido = Convert.ToDateTime(dr["fechaPedido"]); p.montoTotal = Convert.ToDouble(dr["total"]); p.nroPedido = Convert.ToInt32(dr["nroPedido"]); p.dirEntraga=dr["direccion"].ToString(); p.estado = e; p.cliente = c; pedidos.Add(p); } } catch (InvalidOperationException ex) { throw new ApplicationException(ex.Message); } catch (SqlException ex) { throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } return pedidos; }
public static void cargarNuevoDetallePlanYPedidoXPlan(DetallePlanProduccion detallePlanProd, SqlConnection con, SqlTransaction trans, Pedido ped) { DetallePlanProduccionDAO.Insert(detallePlanProd, con, trans, detallePlanProd.idPlan);//ACTUALIZAMOS LA CANTIDAD DE PRODUCTOS EN PEDIDO EN EL DETALLE PLAN PRODUCCION //DetallePlanProduccionDAO.insertarPlanProduccionXPedido(ped.idPedido, detallePlanProd.producto.idProducto, detallePlanProd.idPlan, detallePlanProd.fechaProduccion.Date,trans,con); }
public static void Update(Pedido ped, List<DetallePedido> tablaAModificar, List<Producto> productosConPocaMP) { Acceso ac = new Acceso(); SqlTransaction tran = null; SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); SqlCommand cmd = new SqlCommand("UPDATE [Luiggi].[dbo].[Pedido] SET [fechaNecesidad] = @fechaNecesidad, [direccion] = @direccion, [idEstado] = @idEstado WHERE idPedido = @idPedido", conexion); cmd.Parameters.AddWithValue("@idPedido", ped.idPedido ); cmd.Parameters.AddWithValue("@fechaNecesidad", ped.fechaNecesidad); cmd.Parameters.AddWithValue("@direccion",ped.dirEntraga); cmd.Parameters.AddWithValue("@idEstado", ped.estado.idEstado); try { conexion.Open(); tran = conexion.BeginTransaction(); cmd.CommandType = CommandType.Text; cmd.Transaction = tran; cmd.ExecuteNonQuery(); //SqlCommand cmdIdentity = new SqlCommand("select @@Identity", conexion, tran); //ped.idPedido = Convert.ToInt32((cmdIdentity.ExecuteScalar())); foreach (DetallePedido detP in tablaAModificar) { if (detP.reservado == true) { ProductoDAO.UpdateStockReservadoYDisponibleEliminado(detP.producto.idProducto, detP.cantidad, conexion, tran); } else { renovarStock(detP, conexion, tran, ped, productosConPocaMP); } } DetallePedidoDAO.Delete(ped.idPedido, conexion, tran); foreach (DetallePedido detPed in ped.detallePedido) { //detPed.pedido.idPedido = ped.idPedido; DetallePedidoDAO.Insert(detPed, conexion, tran, ped.idPedido); if (detPed.reservado == true) { ProductoDAO.UpdateStockReservadoYDisponible(detPed, conexion, tran); } if (detPed.reservado == false) { actualizarStock(detPed, conexion, tran, ped, productosConPocaMP); } } tran.Commit(); } catch (ArgumentException ex) { if (conexion.State == ConnectionState.Open) { tran.Rollback(); } throw new ApplicationException(ex.Message); } catch (SqlException ex) { if (conexion.State == ConnectionState.Open) { tran.Rollback(); } throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } }
public static int Insert(Pedido ped, List<Producto> productosConPocaMP) { Acceso ac = new Acceso(); SqlTransaction tran = null; SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); SqlCommand cmd = new SqlCommand("sp_Pedido_insert", conexion); cmd.Parameters.AddWithValue("@idCliente", ped.cliente.idPersona ); cmd.Parameters.AddWithValue("@idEstado", ped.estado.idEstado ); cmd.Parameters.AddWithValue("@fechaPedido", ped.fechaPedido ); cmd.Parameters.AddWithValue("@fechaNecesidad", ped.fechaNecesidad ); cmd.Parameters.AddWithValue("@nroPedido", ped.nroPedido ); cmd.Parameters.AddWithValue("@direccion", ped.dirEntraga); try { conexion.Open(); tran = conexion.BeginTransaction(); cmd.CommandType = CommandType.StoredProcedure; cmd.Transaction = tran; cmd.ExecuteNonQuery(); SqlCommand cmdIdentity = new SqlCommand("select @@Identity", conexion, tran); ped.idPedido = Convert.ToInt32((cmdIdentity.ExecuteScalar())); foreach (DetallePedido detPed in ped.detallePedido ) { //detPed.pedido.idPedido = ped.idPedido; DetallePedidoDAO.Insert(detPed, conexion, tran, ped.idPedido); if (detPed.reservado == true) { ProductoDAO.UpdateStockReservadoYDisponible(detPed, conexion, tran); } if (detPed.reservado == false) { actualizarStock(detPed, conexion, tran, ped,productosConPocaMP); } } tran.Commit(); return ped.idPedido; } catch (ArgumentException ex) { if (conexion.State == ConnectionState.Open) { tran.Rollback(); } throw new ApplicationException(ex.Message); } catch (SqlException ex) { if (conexion.State == ConnectionState.Open) { tran.Rollback(); } throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } }
public static Pedido GetById(int id) { Acceso ac = new Acceso(); Pedido p = new Pedido(); SqlCommand cmd = new SqlCommand(); string sql = "SELECT * from CONSULTA_PEDIDOS where idPedido=@id"; cmd.Parameters.AddWithValue("@id", id); SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); try { conexion.Open(); cmd.Connection = conexion; cmd.CommandText = sql; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); CondicionIVA ci; Persona c; TipoDocumento t; while (dr.Read()) { ci = new CondicionIVA(); ci.idCondicionIVA = Convert.ToInt32(dr["iva"]); c = new Persona(); t = new TipoDocumento(); t.IDTipoDoc = Convert.ToInt32(dr["idTipoDoc"]); c.idPersona = Convert.ToInt32(dr["idPersona"]); c.RazonSocial = dr["razonSocial"].ToString(); c.Nombre = dr["nombre"].ToString(); c.Apellido = dr["apellido"].ToString(); c.cuil = dr["CUIT"].ToString(); c.NroDoc = Convert.ToInt32(dr["nroDocumento"]); c.tefefonoCelular = dr["telefonoCelular"].ToString(); c.condicionIVA = ci ; c.TipoDoc=t; p.idPedido = Convert.ToInt32(dr["idPedido"]); p.fechaNecesidad = Convert.ToDateTime(dr["fechaNecesidad"]); p.fechaPedido = Convert.ToDateTime(dr["fechaPedido"]); p.montoTotal = Convert.ToDouble(dr["total"]); p.nroPedido = Convert.ToInt32(dr["nroPedido"]); p.dirEntraga = dr["direccion"].ToString(); p.cliente = c; } } catch (InvalidOperationException ex) { throw new ApplicationException(ex.Message); } catch (SqlException ex) { throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } return p; }
public static List<Pedido> GetByFiltros(int est, int tipDoc, int? nroDoc, double? montoDesde, double? mostoHasta, string nom, string ape, string raSoc, int? cuit, DateTime? fdesde, DateTime? fhasta) { Acceso ac = new Acceso(); List<Pedido> pedidos = new List<Pedido>(); string sql = "SELECT * from CONSULTA_PEDIDOS where 1=1"; SqlCommand cmd = new SqlCommand(); SqlConnection conexion = new SqlConnection(ac.getCadenaConexion()); if (est != -1 && est != 0) { sql += " and idEstado = @est"; cmd.Parameters.AddWithValue("@est", est); } if (tipDoc != -1 && tipDoc != 0) { sql += " and idTipoDoc = @tipDoc"; cmd.Parameters.AddWithValue("@tipDoc", tipDoc); } if (nroDoc.HasValue) { sql += " and nroDocumento = @nroDoc"; cmd.Parameters.AddWithValue("@nroDoc", nroDoc); } if (montoDesde.HasValue) { sql += " and total >= @montoDesde"; cmd.Parameters.AddWithValue("@montoDesde", montoDesde); } if (mostoHasta.HasValue) { sql += " and total <= @mostoHasta"; cmd.Parameters.AddWithValue("@mostoHasta", mostoHasta); } if (!string.IsNullOrEmpty(ape)) { sql += " and apellido = @apellido"; cmd.Parameters.AddWithValue("@apellido", ape); } if (!string.IsNullOrEmpty(nom)) { sql += " and nombre = @nombre"; cmd.Parameters.AddWithValue("@nombre", nom); } if (!string.IsNullOrEmpty(raSoc)) { sql += " and razonSocial = @raSoc"; cmd.Parameters.AddWithValue("@raSoc", raSoc); } if (cuit.HasValue) { sql += " and CUIT = @cuit"; cmd.Parameters.AddWithValue("@cuit", cuit); } if (fdesde.HasValue) { sql += " and fechaNecesidad >= @fdesde"; cmd.Parameters.AddWithValue("@fdesde", fdesde.Value); } if (fhasta.HasValue) { sql += " and fechaNecesidad <= @fhasta"; cmd.Parameters.AddWithValue("@fhasta", fhasta.Value); } try { conexion.Open(); cmd.Connection = conexion; cmd.CommandText = sql; cmd.CommandType = CommandType.Text; SqlDataReader dr = cmd.ExecuteReader(); Pedido p; Estado e; Persona c; TipoDocumento t; while (dr.Read()) { c = new Persona(); t = new TipoDocumento(); t.IDTipoDoc = Convert.ToInt32(dr["idTipoDoc"]); c.RazonSocial = dr["razonSocial"].ToString(); c.Nombre = dr["nombre"].ToString(); c.Apellido = dr["apellido"].ToString(); c.cuil = dr["CUIT"].ToString(); c.NroDoc = Convert.ToInt32(dr["nroDocumento"]); c.TipoDoc = t; e = new Estado(); e.idEstado = Convert.ToInt32(dr["idEstado"]); e.Nombre = dr["estado"].ToString(); p = new Pedido(); p.idPedido = Convert.ToInt32(dr["idPedido"]); p.fechaNecesidad = Convert.ToDateTime(dr["fechaNecesidad"]); p.fechaPedido = Convert.ToDateTime(dr["fechaPedido"]); p.montoTotal = Convert.ToDouble(dr["total"]); p.nroPedido = Convert.ToInt32(dr["nroPedido"]); p.dirEntraga = dr["direccion"].ToString(); p.estado = e; p.cliente = c; pedidos.Add(p); } } catch (InvalidOperationException ex) { throw new ApplicationException(ex.Message); } catch (SqlException ex) { throw new ApplicationException("Error en BD: " + ex.Message); } finally { conexion.Close(); } return pedidos; }
public int crearPedido(List<Producto> productosConPocaMP) { numeroPedido = buscarUltimoNroPedido(); Estado esta=new Estado() { idEstado=idEstado, }; Pedido ped = new Pedido() { cliente=cliente, detallePedido = detalle, fechaNecesidad = necesidad, fechaPedido = fechaPedido, nroPedido = numeroPedido, estado=esta, dirEntraga=direEntrega }; try { return PedidoDAO.Insert(ped, productosConPocaMP); } catch (ApplicationException ex) { throw new ApplicationException(ex.Message); } }
public void modificarPedido(List<DetallePedido> tablaAModificar, List<Producto> productosConPocaMP) { Pedido ped = new Pedido(); ped.idPedido = idPedido; ped.fechaNecesidad = necesidad; ped.detallePedido = detalle; ped.dirEntraga = direEntrega; ped.estado = new Estado() { idEstado = idEstado }; try { PedidoDAO.Update(ped, tablaAModificar, productosConPocaMP); } catch (ApplicationException ex) { throw new ApplicationException(ex.Message); } }
private void dgv_pedidos_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { try { if (dgv_pedidos.Rows[dgv_pedidos.CurrentRow.Index].Cells["Estado"].Value.ToString() == "Pendiente de prepacacion" || sonTodosReservados()) { Pedido ped = new Pedido(); ped.idPedido = (int)dgv_pedidos.Rows[dgv_pedidos.CurrentRow.Index].Cells["idPedido"].Value; Gestion_de_Pedidos gestion = new Gestion_de_Pedidos(); gestion._estado = estados.modificar; gestion._pedModificar = ped; gestion.ShowDialog(); cargarGrilla(); dgv_pedidos_CellClick(sender, e); } } catch (Exception ex) { } }
private static Pedido Obter(IDataReader leitor, int inicioPedidos) { Pedido pedido = new Pedido(); pedido.código = (ulong) leitor.GetInt64(0 + inicioPedidos); if (!leitor.IsDBNull(1 + inicioPedidos)) pedido.controle = (uint)leitor.GetInt32(1 + inicioPedidos); pedido.tipo = (Tipo)new ConversorTipo().ConverterDeDB(leitor.GetString(2 + inicioPedidos)); pedido.cliente = Entidades.Pessoa.Pessoa.ObterPessoa(leitor, TotalAtributos + inicioPedidos, TotalAtributos + inicioPedidos + Entidades.Pessoa.Pessoa.TotalAtributos, 0); if (!leitor.IsDBNull(4 + inicioPedidos)) pedido.representante = Entidades.Pessoa.Representante.Obter(leitor, TotalAtributos + inicioPedidos + Entidades.Pessoa.Pessoa.TotalAtributos + Entidades.Pessoa.PessoaFísica.TotalAtributos, TotalAtributos + inicioPedidos + 2 * Entidades.Pessoa.Pessoa.TotalAtributos + Entidades.Pessoa.PessoaFísica.TotalAtributos); if (!leitor.IsDBNull(5 + inicioPedidos)) pedido.receptor = Funcionário.ObterPessoa((ulong)leitor.GetInt64(5 + inicioPedidos)); if (!leitor.IsDBNull(6 + inicioPedidos)) pedido.dataRecepção = leitor.GetDateTime(6 + inicioPedidos); if (!leitor.IsDBNull(7 + inicioPedidos)) pedido.dataPrevisão = leitor.GetDateTime(7 + inicioPedidos); if (!leitor.IsDBNull(8 + inicioPedidos)) pedido.dataConclusão = leitor.GetDateTime(8 + inicioPedidos); if (!leitor.IsDBNull(9 + inicioPedidos)) pedido.dataEntrega = leitor.GetDateTime(9 + inicioPedidos); if (!leitor.IsDBNull(10 + inicioPedidos)) pedido.observações = leitor.GetString(10 + inicioPedidos); pedido.entrega = (Entrega) new ConversorTipoEntrega().ConverterDeDB(leitor.GetString(11 + inicioPedidos)); if (!leitor.IsDBNull(12 + inicioPedidos)) pedido.funcionarioentrega = Funcionário.ObterPessoa((ulong) leitor.GetInt64(12 + inicioPedidos)); pedido.pertenceAoCliente = leitor.GetBoolean(13 + inicioPedidos); pedido.DefinirCadastrado(); pedido.DefinirAtualizado(); return pedido; }