Exemplo n.º 1
0
        public ActionResult Atender(AltaGuiaSalidaModel model)
        {
            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            if (model.Rechazar)
            {
                //Damos de alta la guía de entrada
                var success = service.RechazarGuiaSalida(model.IdSolicitud, model.Observaciones);
                if (success)
                {
                    TempData["Message"] =
                        String.Format("Se rechazó correctamente la solicitud {0}", model.IdSolicitud);
                }
            }
            else
            {
                //Damos de alta la guía de entrada
                var success = service.GenerarGuiaSalida(model.IdSolicitud, model.IdSolicitud, WebSecurity.CurrentUserId);
                if (success)
                {
                    TempData["Message"] =
                        String.Format("Se generó correctamente la guía de salida para la solicitud {0}",
                            model.IdSolicitud);
                }
            }

            return RedirectToAction("Solicitudes", new { id = model.IdAlmacen });
        }
        //
        // GET: /GuiaEntrada/
        // Lista de almacenes disponibles para el usuario
        public ActionResult Almacenes()
        {
            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var almacenesDto = service.ObtenerAlmacenesPorEmpleado(WebSecurity.CurrentUserId);

            //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
            var model = Mapper.Map<List<AlmacenViewModel>>(almacenesDto);
            return View(model);
        }
        //
        // GET: /GuiaEntrada/Solicitudes/5
        // Lista de solicitudes aprobadas listas para hacer una guía de entrada
        public ActionResult Solicitudes(int id)
        {
            @ViewBag.IdAlmacen = id;

            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var solicitudesDto = service.ObtenerSolicitudesEntrada(0, (int) Enums.EstadoSolicitudEntrada.Aprobada,
                DateTime.MinValue, DateTime.MinValue, 0, 0);

            //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
            var model = Mapper.Map<List<ListaSolicitudEntradaViewModel>>(solicitudesDto);
            return View(model);
        }
        //
        // GET: /GuiaEntrada/Atender/5
        // Detalle de una solicitud de Entrada
        public ActionResult Atender(int id, int idAlmacen)
        {
            @ViewBag.IdSolicitud = id;
            @ViewBag.IdAlmacen = idAlmacen;

            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var solicitudesDto = service.ObtenerSolicitudEntrada(id);

            //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
            var model = Mapper.Map<SolicitudEntradaViewModel>(solicitudesDto);
            return View(model);
        }
Exemplo n.º 5
0
        public ActionResult Almacenes()
        {
            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var almacenesDto = service.ObtenerAlmacenesPorEmpleado(WebSecurity.CurrentUserId);

            if (almacenesDto.Any())
            {
                //Si el usuario solo tiene un almacén asignado, obviamos este paso
                if (almacenesDto.Count() == 1)
                {
                    return RedirectToAction("Solicitudes", new { id = almacenesDto[0].Id });
                }

                //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
                var model = Mapper.Map<List<AlmacenViewModel>>(almacenesDto);
                return View(model);
            }

            @ViewBag.Message = "El usuario no cuenta con ningún almacén asociado.";
            return View("Error");
        }
Exemplo n.º 6
0
        public ActionResult Solicitudes(int id)
        {
            //Almacenamos temporalmente el id de almacén
            @ViewBag.IdAlmacen = id;

            //Buscamos algún mensaje de éxito (si venimos de dar de alta una guía de entrada)
            if (TempData.ContainsKey("Message"))
                @ViewBag.Message = TempData["Message"];

            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var solicitudesDto = service.ObtenerSolicitudesSalida(0, (int)Enums.EstadoSolicitudSalida.Aprobada,
                DateTime.MinValue, DateTime.MinValue, 0, "Parcial", "Av. Benavides 435", "Aceros S.A.");

            //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
            var lista = Mapper.Map<List<ListaSolicitudSalidaViewModel>>(solicitudesDto);
            var model = new FiltradoSolicitudesSalidaViewModel();
            model.ListaInicial = lista;
            return View(model);
        }
        public PartialViewResult Solicitudes(FiltradoSolicitudesEntradaViewModel model)
        {
            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var solicitudesDto = service.ObtenerSolicitudesEntrada(model.IdSolicitud.GetValueOrDefault(),
                (int) Enums.EstadoSolicitudEntrada.Aprobada,
                model.FechaInicio.GetValueOrDefault(), model.FechaFin.GetValueOrDefault(),
                String.IsNullOrEmpty(model.IdEmpleado) ? 0 : Convert.ToInt32(model.IdEmpleado),
                String.IsNullOrEmpty(model.TipoEntrada) ? 0 : Convert.ToInt32(model.TipoEntrada));

            //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
            var listaSolicitudes = Mapper.Map<List<ListaSolicitudEntradaViewModel>>(solicitudesDto);

            return PartialView("_ListaSolicitudEntrada",listaSolicitudes);
        }
        //
        // GET: /GuiaEntrada/Solicitudes/5
        // Lista de solicitudes aprobadas listas para hacer una guía de entrada
        public ActionResult Solicitudes(int id)
        {
            //Buscamos algún mensaje de éxito (si venimos de dar de alta una guía de entrada)
            if (TempData.ContainsKey("Message"))
                @ViewBag.Message = TempData["Message"];

            //Invocamos al servicio
            var service = new LogisticaServices.EntradasYSalidasServiceClient();

            //Como código de empleado le pasamos el current user id (es importante que coincida con el empleado id)
            var solicitudesDto = service.ObtenerSolicitudesEntrada(0, (int)Enums.EstadoSolicitudEntrada.Aprobada,
                DateTime.MinValue, DateTime.MinValue, 0, 0);

            //Mapeamos el DTO a nuestro modelo (de forma automática o a mano, dependiendo de nuestra necesidad)
            var listaSolicitudes = Mapper.Map<List<ListaSolicitudEntradaViewModel>>(solicitudesDto);

            //Obtenemos la lista de empleados
            var listaEmpleados = service.ObtenerEmpleados();

            var model = new FiltradoSolicitudesEntradaViewModel();
            model.ListaInicial = listaSolicitudes;
            model.Empleados =
                listaEmpleados.Select(
                    x => new SelectListItem() {Text = x.Apellidos + ", " + x.Nombres, Value = x.Id.ToString()})
                    .OrderBy(s => s.Text);
            return View(model);
        }