Esempio n. 1
0
        public ActionResult Detalle(int id)
        {
            var envio = _enviosManager.Find(id);

            var obra = _obrasManager.Find(envio.obra_id);

            if (obra != null)
            {
                ViewBag.Obras =
                    new SelectList(_enviosManager.FindObras(), "nombre", "nombre", obra.Nombre);
            }
            else
            {
                ViewBag.Obras =
                    new SelectList(_enviosManager.FindObras(), "nombre", "nombre");
            }
            ViewBag.Componentes =
                new SelectList(_enviosManager.FindComponentes(), "descripcion", "descripcion", envio.TipoComponente);

            ViewBag.StatusEnvio =
                new SelectList(_enviosManager.FindStatus(), "descripcion", "descripcion", envio.StatusEnvio);

            ViewBag.StatusPago =
                new SelectList(_enviosManager.FindStatusPagos(), "descripcion", "descripcion", envio.StatusPago);

            /*
             * ViewBag.StatusEntrega =
             * new SelectList(_enviosManager.FindStatusEntrega(), "descripcion", "descripcion", envio.StatusEntrega);
             */
            if (envio == null)
            {
                // TempData["FlashError"] = MensajesResource.ERROR_MensajesInstitucionales_IdIncorrecto;
                return(RedirectToAction("Index"));
            }

            var envioModel = new EnvioViewModel()
            {
                Obra              = envio.Obra,
                TipoComponente    = envio.TipoComponente,
                FechaPedido       = envio.FechaPedido,
                FechaSalida       = envio.FechaSalida,
                Tracking          = envio.Tracking,
                EmpresaEnvio      = envio.EmpresaEnvio,
                StatusEnvio       = envio.StatusEnvio,
                NumeroBulto       = envio.NumeroBulto,
                PesoTotal         = envio.PesoTotal,
                CodigoArancelario = envio.CodigoArancelario,
                Solicitado        = envio.Solicitado,
                CostoProducto     = envio.CostoProducto,
                StatusPago        = envio.StatusPago,
                NumeroFactura     = envio.NumeroFactura,
                StatusEntrega     = envio.StatusEntrega,
                EntregaProducto   = envio.EntregaProducto,
                FechaEntrega      = envio.FechaEntrega,
                obra_id           = envio.obra_id,
                id = envio.Id
            };

            return(View(envioModel));
        }
        public async Task <IActionResult> Index(EnvioViewModel model)
        {
            //String[] extensao = { ".jpg", ".gif",".png",".pdf","docx",".tmp",".zip",".7zip"};
            if (ModelState.IsValid)
            {
                List <String> lista        = new List <String>();
                List <String> linkDownload = new List <String>();
                var           pasta        = dir.GetDirectories(model.id).FirstOrDefault();
                if (pasta != null)
                {
                    foreach (var item in model.arquivos)
                    {
                        String[] nomeArquivo = item.FileName.Split(".");
                        String   nome        = model.id + "_" + model.tipoEntrega + "." + nomeArquivo[nomeArquivo.Length - 1];
                        var      archive     = pasta.GetFiles(nome);
                        if (archive.Length > 0)
                        {
                            ModelState.AddModelError("", "Arquivo já existe, requisição invalida");
                            return(View());
                        }
                        using (var stream = new FileStream(Path.Combine(pasta.ToString(), nome), FileMode.Create, FileAccess.Read))
                        {
                            await item.CopyToAsync(stream);
                        }
                        lista.Add(Path.Combine(pasta.ToString(), nome));
                    }
                    await mailService.EnviarEmail("patrick", "*****@*****.**", lista);

                    return(View());
                }
                var diretorio = dir.CreateSubdirectory(model.id);
                foreach (var item in model.arquivos)
                {
                    String[] nomeArquivo = item.FileName.Split(".");

                    String nome = model.id + "_" + model.tipoEntrega + "." + nomeArquivo[nomeArquivo.Length - 1];
                    using (var stream = new FileStream(Path.Combine(diretorio.ToString(), nome), FileMode.Create))
                    {
                        await item.CopyToAsync(stream);
                    }
                    lista.Add(Path.Combine(diretorio.ToString(), nome));
                    linkDownload.Add(Url.Action("download", "Home", new { model.id, nome }, Request.Scheme));
                }
                await twilioService.EnviarTrabalhoAsync(linkDownload, model.id);

                await mailService.EnviarEmail("patrick", "*****@*****.**", lista);
            }
            return(View());
        }
Esempio n. 3
0
        public ActionResult CrearPorDefecto(EnvioViewModel model, FormCollection collection)
        {
            //var obra = _obrasManager.Find(model.Obra);

            var obra = _obrasManager.FindObrasPorNombre(model.Obra);

            ViewBag.Obras =
                new SelectList(_enviosManager.FindObras(), "nombre", "nombre");

            ViewBag.Componentes =
                new SelectList(_enviosManager.FindComponentes(), "descripcion", "descripcion");

            ViewBag.StatusEnvio =
                new SelectList(_enviosManager.FindStatus(), "descripcion", "descripcion");

            ViewBag.StatusPago =
                new SelectList(_enviosManager.FindStatusPagos(), "descripcion", "descripcion");

            ViewBag.StatusEntrega =
                new SelectList(_enviosManager.FindStatusEntrega(), "descripcion", "descripcion");

            //if (!ModelState.IsValid) return View(model);

            try
            {
                _enviosManager.Crear(obra.Id,
                                     obra.Nombre,
                                     model.TipoComponente,
                                     model.FechaPedido,
                                     model.FechaSalida,
                                     model.Tracking,
                                     model.EmpresaEnvio,
                                     model.StatusEnvio,
                                     model.NumeroBulto,
                                     model.PesoTotal,
                                     model.CodigoArancelario,
                                     model.Solicitado,
                                     model.CostoProducto,
                                     model.StatusPago,
                                     model.NumeroFactura,
                                     model.StatusEntrega,
                                     model.EntregaProducto,
                                     model.FechaEntrega);


                //else if(model.obra_id != null)
                //{
                //    _enviosManager.Crear(obranombre.Id,
                //       model.Obra,
                //       model.TipoComponente,
                //       model.FechaPedido,
                //       model.FechaSalida,
                //       model.Tracking,
                //       model.EmpresaEnvio,
                //       model.StatusEnvio,
                //       model.NumeroBulto,
                //       model.PesoTotal,
                //       model.CodigoArancelario,
                //       model.Solicitado,
                //       model.CostoProducto,
                //       model.StatusPago,
                //       model.NumeroFactura,
                //       model.StatusEntrega,
                //       model.EntregaProducto,
                //       model.FechaEntrega);
                //}
                TempData.Keep();
                TempData["FlashSuccess"] = MensajesResource.INFO_Envios_CreadoCorrectamente;
                if (obra.Nombre == "OFICINA")
                {
                    return(RedirectToAction("Index", "AdministrarEnvios"));
                }
                if (TempData["obra"] != null)
                {
                    return(RedirectToAction("Envios", "AdministrarEnvios", new { @id = TempData["obra"] }));
                }
                else
                {
                    return(RedirectToAction("Index", "AdministrarEnvios"));
                }
            }
            catch (BusinessException businessEx)
            {
                ModelState.AddModelError(string.Empty, businessEx.Message);

                return(View(model));
            }
            catch (Exception e)
            {
                var log = CommonManager.BuildMessageLog(
                    TipoMensaje.Error,
                    ControllerContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(),
                    ControllerContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(),
                    e.ToString(), Request);

                CommonManager.WriteAppLog(log, TipoMensaje.Error);

                ModelState.AddModelError(string.Empty, e.Message);
                return(View(model));
            }
        }
Esempio n. 4
0
        public ActionResult Editar(int id, EnvioViewModel model)
        {
            var envio = _enviosManager.Find(id);

            var obra = _obrasManager.Find_by_name(envio.Obra);

            ViewBag.Obras =
                new SelectList(_enviosManager.FindObras(id), "nombre", "nombre", obra.Nombre);

            ViewBag.Componentes =
                new SelectList(_enviosManager.FindComponentes(), "descripcion", "descripcion", envio.TipoComponente);

            ViewBag.StatusEnvio =
                new SelectList(_enviosManager.FindStatus(), "descripcion", "descripcion", envio.StatusEnvio);

            ViewBag.StatusPago =
                new SelectList(_enviosManager.FindStatusPagos(), "descripcion", "descripcion", envio.StatusPago);

/*
 *          ViewBag.StatusEntrega =
 *             new SelectList(_enviosManager.FindStatusEntrega(), "descripcion", "descripcion", envio.StatusEntrega);
 *
 */

            if (envio == null)
            {
                //TempData["FlashError"] = MensajesResource.ERROR_MensajesInstitucionales_IdIncorrecto;
                return(RedirectToAction("Index"));
            }

            try
            {
                _enviosManager.Actualizar(Convert.ToInt32(TempData["obra"]),
                                          id,
                                          model.Obra,
                                          model.TipoComponente,
                                          model.FechaPedido,
                                          model.FechaSalida,
                                          model.Tracking,
                                          model.EmpresaEnvio,
                                          model.StatusEnvio,
                                          model.NumeroBulto,
                                          model.PesoTotal,
                                          model.CodigoArancelario,
                                          model.Solicitado,
                                          model.CostoProducto,
                                          model.StatusPago,
                                          model.NumeroFactura,
                                          model.StatusEntrega,
                                          model.EntregaProducto,
                                          model.FechaEntrega);

                TempData.Keep();
                TempData["FlashSuccess"] = MensajesResource.INFO_Envios_ActualizadoCorrectamente;
                //  return RedirectToAction("Index");
                //return RedirectToAction("Editar", "AdministrarEnvios", id);
                return(RedirectToAction("Envios", "AdministrarEnvios", new { @Id = TempData["obra"] }));
            }
            catch (BusinessException businessEx)
            {
                ModelState.AddModelError(string.Empty, businessEx.Message);

                return(View(model));
            }
            catch (Exception e)
            {
                var log = CommonManager.BuildMessageLog(
                    TipoMensaje.Error,
                    ControllerContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(),
                    ControllerContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(),
                    e.ToString(), Request);

                CommonManager.WriteAppLog(log, TipoMensaje.Error);

                return(View(model));
            }
        }