public List<beProgramacionPicking> Listar(SqlConnection con)
        {
            List<beProgramacionPicking> lista = new List<beProgramacionPicking>();
            SqlCommand cmd = new SqlCommand("uspProgramacionPickingListar", con);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlDataReader drd = cmd.ExecuteReader(CommandBehavior.SingleResult);
            if (drd != null)
            {
                while (drd.Read())
                {
                    beProgramacionPicking fila = new beProgramacionPicking();
                    fila.IdProgramacionPicking = drd.GetInt32(0);
                    fila.IdEmpleado = drd.GetInt32(1);
                    fila.Descripcion = drd.GetString(2);
                    fila.Fecha = drd.GetDateTime(3);
                    fila.Turno = drd.GetString(4);
                    fila.Responsable = drd.GetString(5);
                    fila.FechaFormateada = fila.Fecha.ToString("dd/MM/yyyy");

                    lista.Add(fila);
                }
                drd.Close();
            }
            return lista;
        }
        public Boolean Insertar(SqlConnection con, beProgramacionPicking obeProgramacionPicking)
        {
            SqlCommand cmd = new SqlCommand("uspProgramacionPickingInsertar", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@idProgramacionPicking", obeProgramacionPicking.IdProgramacionPicking);
            cmd.Parameters.AddWithValue("@idEmpleado", obeProgramacionPicking.IdEmpleado);
            cmd.Parameters.AddWithValue("@descripcion", obeProgramacionPicking.Descripcion);
            cmd.Parameters.AddWithValue("@fecha", obeProgramacionPicking.Fecha);
            cmd.Parameters.AddWithValue("@turno", obeProgramacionPicking.Turno);
            cmd.Parameters.AddWithValue("@NumeroPedido", obeProgramacionPicking.NumeroPedido);

            cmd.ExecuteNonQuery();

            return true;
        }
 public Boolean Insertar(beProgramacionPicking obeProgramacionPicking)
 {
     using (SqlConnection con = new SqlConnection(CadenaConexion))
     {
         try
         {
             con.Open();
             daProgramacionPicking odaProgramacionPicking = new daProgramacionPicking();
             odaProgramacionPicking.Insertar(con, obeProgramacionPicking);
             return true;
         }
         catch (Exception ex)
         {
             GrabarLog(ex);
             return false;
         }
     }
 }
        public beProgramacionPicking ListarxID(SqlConnection con, int id)
        {
            beProgramacionPicking fila = new beProgramacionPicking();
            SqlCommand cmd = new SqlCommand("uspProgramacionPickingListarxID", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@id", id);
            SqlDataReader drd = cmd.ExecuteReader(CommandBehavior.SingleResult);
            if (drd != null)
            {
                while (drd.Read())
                {
                    fila.IdProgramacionPicking = drd.GetInt32(0);
                    fila.IdEmpleado = drd.GetInt32(1);
                    fila.Descripcion = drd.GetString(2);
                    fila.Fecha = drd.GetDateTime(3);
                    fila.Turno = drd.GetString(4);
                    fila.Responsable = drd.GetString(5);
                    fila.FechaFormateada = fila.Fecha.ToString("dd/MM/yyyy");

                }
                drd.Close();
            }
            return fila;
        }
        public List<beProgramacionPicking> ListarPickarFiltro(SqlConnection con, String strNumeroPedido)
        {
            List<beProgramacionPicking> lista = new List<beProgramacionPicking>();
            SqlCommand cmd = new SqlCommand("uspProgramacionPickingListarPickarFiltro", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@NumeroPedido", strNumeroPedido);
            SqlDataReader drd = cmd.ExecuteReader(CommandBehavior.SingleResult);
            if (drd != null)
            {
                while (drd.Read())
                {
                    beProgramacionPicking fila = new beProgramacionPicking();
                    fila.Fecha = drd.GetDateTime(0);
                    fila.NumeroPedido = drd.GetString(1);
                    fila.IdSucursal = drd.GetInt32(2);
                    fila.Estado = drd.GetInt32(3);
                    fila.NombreSucursal = drd.GetString(4);
                    fila.DescripcionEstado = drd.GetString(5);
                    fila.FechaFormateada = fila.Fecha.ToString("dd/MM/yyyy");

                    lista.Add(fila);
                }
                drd.Close();
            }
            return lista;
        }
        public ActionResult ProgramarPicking(FormCollection form, List<bePedido> lbePedido, String submitButton)
        {
            switch (submitButton)
            {
                case "Grabar":
                    if (ModelState.IsValid)
                    {
                        String strEmpleado = form["IdEmpleado"].ToString();
                        String strFecha = form["txtFecha"].ToString();
                        String strDescripcion = "";
                        String strTurno = "";
                        foreach (bePedido fila in lbePedido)
                        {
                            if (fila.Seleccionado)
                            {
                                beProgramacionPicking obeProgramacionPicking = new beProgramacionPicking();
                                obeProgramacionPicking.IdProgramacionPicking = 0;
                                obeProgramacionPicking.IdEmpleado = Int32.Parse(strEmpleado);
                                obeProgramacionPicking.Descripcion = strDescripcion;
                                obeProgramacionPicking.Fecha = DateTime.Parse(strFecha);
                                obeProgramacionPicking.Turno = strTurno;
                                obeProgramacionPicking.NumeroPedido = fila.NumeroPedido;

                                obrProgramacionPicking.Insertar(obeProgramacionPicking);

                                //ACTUALIZAR ESTADO DEL PEDIDO
                                bePedido obePedido = new bePedido();
                                obePedido.NumeroPedido = fila.NumeroPedido;
                                obePedido.Estado = 1;
                                obrPedido.ActualizarEstado(obePedido);
                            }
                        }

                    }
                    return Redirect("~/Picking/Index");
                case "Buscar":
                    String strSucursal = form["IdSucursal"].ToString();
                    String strPedidoInicio = form["txtPedidoInicio"].ToString();
                    String strPedidoFin = form["txtPedidoFin"].ToString();

                    int intSucursal = 0;
                    if (String.IsNullOrEmpty(strSucursal))
                        intSucursal = 0;
                    else
                        intSucursal = Int32.Parse(strSucursal);
                    List<bePedido> lbePedidoFiltro = obrPedido.Filtrar(strPedidoInicio, strPedidoFin, intSucursal);
                    TempData["ListaPedido"] = lbePedidoFiltro;

                    List<beSucursal> listaSucursal = obrSucursal.Listar();
                    var sucursales = new SelectList(listaSucursal.ToArray(), "idSucursal", "nombreSucursal");
                    ViewBag.Sucursal = sucursales;

                    List<beEmpleadoRH> listaEmpleado = obrEmpleado.Listar();
                    var empleados = new SelectList(listaEmpleado.ToArray(), "codEmpleado", "nombreCompleto");
                    ViewBag.Empleado = empleados;

                    return View(lbePedidoFiltro );
                default:
                    return (View());
            }
        }
 public beProgramacionPicking ListarxID(int id)
 {
     beProgramacionPicking fila = new beProgramacionPicking();
     using (SqlConnection con = new SqlConnection(CadenaConexion))
     {
         try
         {
             con.Open();
             daProgramacionPicking odadaProgramacionPicking = new daProgramacionPicking();
             fila = odadaProgramacionPicking.ListarxID(con, id);
         }
         catch (Exception ex)
         {
             GrabarLog(ex);
         }
     }
     return fila;
 }