public ActionResult DescargarArchivo(ExportacionDescargaModel model)
        {
            List <Exportacion> exportaciones = model.ObtenerExportaciones();
            var listaXmls = exportaciones.Select(e => new KeyValuePair <string, string>(e.Nombre, e.ExportacionArchivo.Archivo)).ToList();

            return(ZipHelper.ZipResult(listaXmls, model.FileName));
        }
 private void ValidarDescarga(ExportacionDescargaModel model)
 {
     if (model.DescargaTipo == 3)
     {
         if (model.Secuencia == null)
         {
             ModelState.AddModelError("Secuencia", "Debe ingresar un número de secuencia");
         }
         else
         {
             var maxSec = Uow.Exportaciones.ListadoPorCuenta(UsuarioActual.CuentaId).Max(e => e.Secuencia);
             if (model.Secuencia > maxSec)
             {
                 ModelState.AddModelError("Secuencia", "El número de secuencia ingresado es mayor al actual");
             }
         }
     }
     else if (model.DescargaTipo == 1 && model.MaxiKioscoId == null)
     {
         ModelState.AddModelError("MaxiKioscoId", "Debe seleccionar un maxikiosco");
     }
     else if (model.DescargaTipo == 4 && model.Fecha == null)
     {
         ModelState.AddModelError("Fecha", "Debe seleccionar una fecha");
     }
 }
        public ActionResult Descargar()
        {
            var model = new ExportacionDescargaModel()
            {
                DescargaTipo = 1
            };

            return(PartialView(model));
        }
 public ActionResult Descargar(ExportacionDescargaModel model)
 {
     ValidarDescarga(model);
     if (!ModelState.IsValid)
     {
         return PartialView(model);
     }
     var filename = model.GenerarNombreArchivo();
     var archivos = model.ObtenerExportaciones();
     return new JsonResult() { Data = new { exito = true,
                                             filename,
                                             maxikioscoId = model.MaxiKioscoId,
                                             tieneArchivos = archivos.Any()
                             }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
 }
        public ActionResult Descargar(ExportacionDescargaModel model)
        {
            ValidarDescarga(model);
            if (!ModelState.IsValid)
            {
                return(PartialView(model));
            }
            var filename = model.GenerarNombreArchivo();
            var archivos = model.ObtenerExportaciones();

            return(new JsonResult()
            {
                Data = new { exito = true,
                             filename,
                             maxikioscoId = model.MaxiKioscoId,
                             tieneArchivos = archivos.Any() }, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
 public ActionResult DescargarArchivo(ExportacionDescargaModel model)
 {
     List<Exportacion> exportaciones = model.ObtenerExportaciones();
     var listaXmls = exportaciones.Select(e => new KeyValuePair<string, string>(e.Nombre, e.ExportacionArchivo.Archivo)).ToList();
     return ZipHelper.ZipResult(listaXmls, model.FileName);
 }
 public ActionResult Descargar()
 {
     var model = new ExportacionDescargaModel() { DescargaTipo = 1 };
     return PartialView(model);
 }
 private void ValidarDescarga(ExportacionDescargaModel model)
 {
     if (model.DescargaTipo == 3)
     {
         if (model.Secuencia == null)
             ModelState.AddModelError("Secuencia", "Debe ingresar un número de secuencia");
         else
         {
             var maxSec = Uow.Exportaciones.ListadoPorCuenta(UsuarioActual.CuentaId).Max(e => e.Secuencia);
             if (model.Secuencia > maxSec)
                 ModelState.AddModelError("Secuencia", "El número de secuencia ingresado es mayor al actual");
         }
     }
     else if (model.DescargaTipo == 1 && model.MaxiKioscoId == null)
     {
         ModelState.AddModelError("MaxiKioscoId", "Debe seleccionar un maxikiosco");
     }
     else if (model.DescargaTipo == 4 && model.Fecha == null)
     {
         ModelState.AddModelError("Fecha", "Debe seleccionar una fecha");
     }
 }