public async Task <bool> UploadFiles(DocumentoRequisitoTransfer documentoRequisitoTransfer) { try { var documentoRequisito = new DocumentoRequisito { Nombre = documentoRequisitoTransfer.Nombre, Fecha = DateTime.Now, IdRequisito = documentoRequisitoTransfer.IdRequisito }; db.DocumentoRequisito.Add(documentoRequisito); await db.SaveChangesAsync(); string extensionFile = FileExtension(documentoRequisitoTransfer.Nombre); await UploadFile(documentoRequisitoTransfer.Fichero, Mensaje.CarpetaDocumento, $"{documentoRequisito.IdDocumentoRequisito}{extensionFile}"); var seleccionado = await db.DocumentoRequisito.FindAsync(documentoRequisito.IdDocumentoRequisito); seleccionado.Url = $"{Mensaje.CarpetaDocumento}/{documentoRequisito.IdDocumentoRequisito}{extensionFile}"; db.DocumentoRequisito.Update(seleccionado); await db.SaveChangesAsync(); return(true); } catch (Exception) { } return(false); }
public async Task <bool> UploadFiles(DocumentoRequisitoTransfer documentoRequisitoTransfer, Empresa empresa) { try { var documentoRequisito = new DocumentoRequisito { Nombre = documentoRequisitoTransfer.Nombre, Fecha = DateTime.Now, IdRequisito = documentoRequisitoTransfer.IdRequisito }; db.DocumentoRequisito.Add(documentoRequisito); await db.SaveChangesAsync(); string extensionFile = FileExtension(documentoRequisitoTransfer.Nombre); //Mensaje.CarpetaDocumento await UploadFile(documentoRequisitoTransfer.Fichero, empresa.IdEmpresa.ToString(), $"{documentoRequisito.IdDocumentoRequisito}{extensionFile}"); var seleccionado = await db.DocumentoRequisito.FindAsync(documentoRequisito.IdDocumentoRequisito); seleccionado.Url = $"{empresa.IdEmpresa}/{documentoRequisito.IdDocumentoRequisito}{extensionFile}"; db.DocumentoRequisito.Update(seleccionado); await db.SaveChangesAsync(); return(true); } catch (Exception ex) { Debug.Write(ex.Message); } return(false); }
public async Task <IActionResult> Gestionar(Requisito requisito, IFormFile file) { try { if (requisito.IdStatus == EstadoRequisito.Terminado && file == null) { ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); ViewData["RequisitoLegal"] = await ObtenerSelectListRequisitoLegal(requisito?.Documento?.RequisitoLegal?.IdOrganismoControl ?? -1); ViewData["Documento"] = await ObtenerSelectListDocumento(requisito?.Documento?.IdRequisitoLegal ?? -1); ViewData["Ciudad"] = new SelectList(await db.Ciudad.OrderBy(c => c.Nombre).ToListAsync(), "IdCiudad", "Nombre"); ViewData["Proceso"] = new SelectList(await db.Proceso.OrderBy(c => c.Nombre).ToListAsync(), "IdProceso", "Nombre"); ViewData["Proyecto"] = new SelectList(await db.Proyecto.OrderBy(c => c.Nombre).ToListAsync(), "IdProyecto", "Nombre"); ViewData["Actor"] = new SelectList(await db.Actor.OrderBy(c => c.Nombres).ToListAsync(), "IdActor", "Nombres"); ViewData["Status"] = new SelectList(await db.Status.ToListAsync(), "IdStatus", "Nombre"); var requisitoSalida = await db.Requisito.Include(c => c.DocumentoRequisito).Include(x => x.Accion).Include(c => c.Documento).ThenInclude(c => c.RequisitoLegal.OrganismoControl).FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); var acciones = await db.Accion.Where(x => x.IdRequisito == requisito.IdRequisito).ToListAsync(); requisitoSalida.Accion = acciones; return(this.VistaError(requisitoSalida, $"{Mensaje.Error}|{Mensaje.CargarArchivoEstadoTerminado}")); } Requisito miRequisito = new Requisito(); ViewBag.accion = requisito.IdRequisito == 0 ? "Crear" : "Editar"; var tt = Request.Form; ModelState.Remove("Documento.Nombre"); ModelState.Remove("Documento.Tipo"); ModelState.Remove("Documento.Cantidad"); ModelState.Remove("Documento.RequisitoLegal.Nombre"); if (ModelState.IsValid) { var nuevoRegistro = false; if (requisito.IdRequisito == 0) { miRequisito = new Requisito { IdDocumento = requisito.IdDocumento, IdCiudad = requisito.IdCiudad, Criticidad = requisito.Criticidad, IdProceso = requisito.IdProceso, IdProyecto = requisito.IdProyecto, IdActorDuennoProceso = requisito.IdActorDuennoProceso, IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg, IdActorCustodioDocumento = requisito.IdActorCustodioDocumento, FechaCumplimiento = requisito.FechaCumplimiento, FechaCaducidad = requisito.FechaCaducidad, IdStatus = requisito.IdStatus, DuracionTramite = requisito.DuracionTramite, DiasNotificacion = requisito.DiasNotificacion, EmailNotificacion1 = requisito.EmailNotificacion1, EmailNotificacion2 = requisito.EmailNotificacion2, Observaciones = requisito.Observaciones, NotificacionEnviada = false }; db.Add(miRequisito); nuevoRegistro = true; } else { miRequisito = await db.Requisito.FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); miRequisito.IdDocumento = requisito.IdDocumento; miRequisito.IdCiudad = requisito.IdCiudad; miRequisito.Criticidad = requisito.Criticidad; miRequisito.IdProceso = requisito.IdProceso; miRequisito.IdProyecto = requisito.IdProyecto; miRequisito.IdActorDuennoProceso = requisito.IdActorDuennoProceso; miRequisito.IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg; miRequisito.IdActorCustodioDocumento = requisito.IdActorCustodioDocumento; miRequisito.FechaCumplimiento = requisito.FechaCumplimiento; miRequisito.FechaCaducidad = requisito.FechaCaducidad; miRequisito.IdStatus = requisito.IdStatus; miRequisito.DuracionTramite = requisito.DuracionTramite; miRequisito.DiasNotificacion = requisito.DiasNotificacion; miRequisito.EmailNotificacion1 = requisito.EmailNotificacion1; miRequisito.EmailNotificacion2 = requisito.EmailNotificacion2; miRequisito.Observaciones = requisito.Observaciones; } await db.SaveChangesAsync(); var responseFile = true; if (file != null) { byte[] data; using (var br = new BinaryReader(file.OpenReadStream())) data = br.ReadBytes((int)file.OpenReadStream().Length); if (data.Length > 0) { var activoFijoDocumentoTransfer = new DocumentoRequisitoTransfer { Nombre = file.FileName, Fichero = data, IdRequisito = miRequisito.IdRequisito }; responseFile = await uploadFileService.UploadFiles(activoFijoDocumentoTransfer); } } if (requisito.IdStatus != requisito.IdStatusAnterior && requisito.IdStatusAnterior == EstadoRequisito.Terminado) { var url = ""; if (requisito.IdRequisito == 0) { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}/{miRequisito.IdRequisito}"; } else { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}"; } await miRequisito.EnviarEmailNotificaionNoFinalizado(url, emailSender, db); } if (requisito.IdStatus == EstadoRequisito.Terminado) { var url = ""; if (requisito.IdRequisito == 0) { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}/{miRequisito.IdRequisito}"; } else { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}"; } await miRequisito.EnviarEmailNotificaionRequisitoTerminado(userManager, url, emailSender, db); } if (nuevoRegistro) { var url = ""; if (requisito.IdRequisito == 0) { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}/{miRequisito.IdRequisito}"; } else { url = $"{this.Request.Scheme}://{this.Request.Host}/{Mensaje.CarpertaHost}{this.Request.Path}"; } await miRequisito.EnviarEmailNotificaionRequisitoCreacion(url, emailSender, db); } await miRequisito.EnviarEmailNotificaion(userManager, emailSender, db); return(this.Redireccionar(responseFile ? $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}" : $"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}", "Gestionar", new { id = miRequisito.IdRequisito })); // return this.Redireccionar(,responseFile ? $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}" : $"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}"); } ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); ViewData["RequisitoLegal"] = await ObtenerSelectListRequisitoLegal(requisito?.Documento?.RequisitoLegal?.IdOrganismoControl ?? -1); ViewData["Documento"] = await ObtenerSelectListDocumento(requisito?.Documento?.IdRequisitoLegal ?? -1); ViewData["Ciudad"] = new SelectList(await db.Ciudad.OrderBy(c => c.Nombre).ToListAsync(), "IdCiudad", "Nombre"); ViewData["Proceso"] = new SelectList(await db.Proceso.OrderBy(c => c.Nombre).ToListAsync(), "IdProceso", "Nombre"); ViewData["Proyecto"] = new SelectList(await db.Proyecto.OrderBy(c => c.Nombre).ToListAsync(), "IdProyecto", "Nombre"); ViewData["Actor"] = new SelectList(await db.Actor.OrderBy(c => c.Nombres).ToListAsync(), "IdActor", "Nombres"); ViewData["Status"] = new SelectList(await db.Status.ToListAsync(), "IdStatus", "Nombre"); return(this.VistaError(requisito, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }
public async Task <IActionResult> GestionarFinalizado(Requisito requisito, IFormFile file) { try { Requisito miRequisito = new Requisito(); ViewBag.accion = requisito.IdRequisito == 0 ? "Crear" : "Editar"; var tt = Request.Form; ModelState.Remove("Documento.Nombre"); ModelState.Remove("Documento.Tipo"); ModelState.Remove("Documento.Cantidad"); ModelState.Remove("Documento.RequisitoLegal.Nombre"); if (ModelState.IsValid) { miRequisito = await db.Requisito.FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); miRequisito.IdDocumento = requisito.IdDocumento; miRequisito.IdCiudad = requisito.IdCiudad; miRequisito.Criticidad = requisito.Criticidad; miRequisito.IdProceso = requisito.IdProceso; miRequisito.IdProyecto = requisito.IdProyecto; miRequisito.IdActorDuennoProceso = requisito.IdActorDuennoProceso; miRequisito.IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg; miRequisito.IdActorCustodioDocumento = requisito.IdActorCustodioDocumento; miRequisito.FechaCumplimiento = requisito.FechaCumplimiento; miRequisito.FechaCaducidad = requisito.FechaCaducidad; miRequisito.IdStatus = requisito.IdStatus; miRequisito.DuracionTramite = requisito.DuracionTramite; miRequisito.DiasNotificacion = requisito.DiasNotificacion; miRequisito.EmailNotificacion1 = requisito.EmailNotificacion1; miRequisito.EmailNotificacion2 = requisito.EmailNotificacion2; miRequisito.Observaciones = requisito.Observaciones; await db.SaveChangesAsync(); var responseFile = true; if (file != null) { byte[] data; using (var br = new BinaryReader(file.OpenReadStream())) data = br.ReadBytes((int)file.OpenReadStream().Length); if (data.Length > 0) { var activoFijoDocumentoTransfer = new DocumentoRequisitoTransfer { Nombre = file.FileName, Fichero = data, IdRequisito = miRequisito.IdRequisito }; responseFile = await uploadFileService.UploadFiles(activoFijoDocumentoTransfer); } } await miRequisito.EnviarEmailNotificaionFinalizadoModificado(User.Identity.Name, userManager, emailSender, db); if (responseFile) { return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}", "IndexFinalizado")); } return(this.Redireccionar($"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}", "IndexFinalizado")); } return(this.VistaError(requisito, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }
public async Task <IActionResult> Gestionar(Requisito requisito, IFormFile file) { try { ViewBag.accion = requisito.IdRequisito == 0 ? "Crear" : "Editar"; var tt = Request.Form; ModelState.Remove("Documento.Nombre"); ModelState.Remove("Documento.RequisitoLegal.Nombre"); if (ModelState.IsValid) { if (requisito.IdRequisito == 0) { db.Add(new Requisito { IdDocumento = requisito.IdDocumento, IdCiudad = requisito.IdCiudad, IdProceso = requisito.IdProceso, IdActorDuennoProceso = requisito.IdActorDuennoProceso, IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg, IdActorCustodioDocumento = requisito.IdActorCustodioDocumento, FechaCumplimiento = requisito.FechaCumplimiento, FechaCaducidad = requisito.FechaCaducidad, IdStatus = requisito.IdStatus, DuracionTramite = requisito.DuracionTramite, DiasNotificacion = requisito.DiasNotificacion, EmailNotificacion1 = requisito.EmailNotificacion1, EmailNotificacion2 = requisito.EmailNotificacion2, Observaciones = requisito.Observaciones, NotificacionEnviada = false }); } else { var requisitoActualizar = await db.Requisito.FirstOrDefaultAsync(c => c.IdRequisito == requisito.IdRequisito); requisitoActualizar.IdDocumento = requisito.IdDocumento; requisitoActualizar.IdCiudad = requisito.IdCiudad; requisitoActualizar.IdProceso = requisito.IdProceso; requisitoActualizar.IdActorDuennoProceso = requisito.IdActorDuennoProceso; requisitoActualizar.IdActorResponsableGestSeg = requisito.IdActorResponsableGestSeg; requisitoActualizar.IdActorCustodioDocumento = requisito.IdActorCustodioDocumento; requisitoActualizar.FechaCumplimiento = requisito.FechaCumplimiento; requisitoActualizar.FechaCaducidad = requisito.FechaCaducidad; requisitoActualizar.IdStatus = requisito.IdStatus; requisitoActualizar.DuracionTramite = requisito.DuracionTramite; requisitoActualizar.DiasNotificacion = requisito.DiasNotificacion; requisitoActualizar.EmailNotificacion1 = requisito.EmailNotificacion1; requisitoActualizar.EmailNotificacion2 = requisito.EmailNotificacion2; requisitoActualizar.Observaciones = requisito.Observaciones; } await db.SaveChangesAsync(); var responseFile = true; if (file != null) { byte[] data; using (var br = new BinaryReader(file.OpenReadStream())) data = br.ReadBytes((int)file.OpenReadStream().Length); if (data.Length > 0) { var activoFijoDocumentoTransfer = new DocumentoRequisitoTransfer { Nombre = file.FileName, Fichero = data, IdRequisito = requisito.IdRequisito }; responseFile = await uploadFileService.UploadFiles(activoFijoDocumentoTransfer); } } await requisito.EnviarEmailNotificaion(emailSender, db); return(this.Redireccionar(responseFile ? $"{Mensaje.Informacion}|{Mensaje.Satisfactorio}" : $"{Mensaje.Aviso}|{Mensaje.ErrorUploadFiles}")); } ViewData["OrganismoControl"] = new SelectList(await db.OrganismoControl.OrderBy(c => c.Nombre).ToListAsync(), "IdOrganismoControl", "Nombre"); ViewData["RequisitoLegal"] = await ObtenerSelectListRequisitoLegal(requisito?.Documento?.RequisitoLegal?.IdOrganismoControl ?? -1); ViewData["Documento"] = await ObtenerSelectListDocumento(requisito?.Documento?.IdRequisitoLegal ?? -1); ViewData["Ciudad"] = new SelectList(await db.Ciudad.OrderBy(c => c.Nombre).ToListAsync(), "IdCiudad", "Nombre"); ViewData["Proceso"] = new SelectList(await db.Proceso.OrderBy(c => c.Nombre).ToListAsync(), "IdProceso", "Nombre"); ViewData["Actor"] = new SelectList(await db.Actor.OrderBy(c => c.Nombres).ToListAsync(), "IdActor", "Nombres"); ViewData["Status"] = new SelectList(await db.Status.ToListAsync(), "IdStatus", "Nombre"); return(this.VistaError(requisito, $"{Mensaje.Error}|{Mensaje.ModeloInvalido}")); } catch (Exception) { return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.Excepcion}")); } }