public ActionResult AsignarOrdenProduccion()
        {
            var model = new AsignarOrdenProduccionModel();
            try
            {
                Programa programaVigente;
                using (var service = new ProduccionServiceClient())
                {
                    programaVigente = service.ObtenerProgramaVigente();
                }

                if (programaVigente != null)
                {
                    model.ProgramaVigente = new ProgramaModel
                    {
                        Id = programaVigente.Id,
                        Numero = programaVigente.Numero,
                        FechaInicio = programaVigente.FechaInicio,
                        FechaFin = programaVigente.FechaFin
                    };

                    IList<OrdenProduccion> ordenesProduccion;
                    using (var service = new ProduccionServiceClient())
                    {
                        ordenesProduccion = service.ListarOrdenesProduccionParaAsignar(model.ProgramaVigente.Id);
                    }

                    foreach (var item in ordenesProduccion)
                    {
                        model.OrdenesProduccion.Add(new OrdenProduccionModel
                        {
                            Id = item.Id,
                            Numero = item.Numero,
                            NumeroOrdenVenta = item.OrdenVenta.Numero,
                            FechaEntrega = item.OrdenVenta.FechaEntrega,
                            Estado = item.Estado,
                            DescripcionProducto = item.OrdenVenta.Producto.Descripcion,
                            NombreOperador = item.Operador == null
                                        ? string.Empty
                                        : item.Operador.NombreCompleto
                        });
                    }
                }

                IList<Usuario> operadores;
                using (var service = new ProduccionServiceClient())
                {
                    operadores = service.ListarOperadores();
                }

                foreach (var operador in operadores)
                {
                    model.Operadores.Add(new UsuarioModel
                    {
                        Id = operador.Id,
                        NombreCompleto = operador.NombreCompleto,
                        Username = operador.Username,
                        CantidadOP = operador.CantidadOP
                    });
                }
            }
            catch (Exception ex)
            {
                LogError(ex);
            }
            return View(model);
        }
        public JsonResult GuardarAsignaciones(AsignarOrdenProduccionModel model)
        {
            var response = new JsonResponse();
            try
            {
                using (var service = new ProduccionServiceClient())
                {
                    service.GuardarAsignacionesOrdenProduccion(
                        model.OrdenesProduccion.Select(p => p.Id).ToList(),
                        model.Operadores.Select(p => new Usuario
                        {
                            Id = p.Id,
                            CantidadOP = p.CantidadOP

                        }).ToList());
                }

                response.Success = true;
                response.Message = "Ok";
            }
            catch (Exception ex)
            {
                response.Message = ex.Message;

                LogError(ex);
            }
            return Json(response);
        }