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()); }
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)); } }
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)); } }