public IActionResult RegistrarMensaje(EventoSecuenciaModels es) { ClaimsPrincipal currentUser = User; string CapturandoUsuario = null; PruebaUser prueba; if (currentUser.IsInRole("Admins")) { CapturandoUsuario = "Administrador"; } else { prueba = new PruebaUser() { ListaUsuarios = db.AspNetUsers.ToList(), Usuario = new AspNetUsers() { Id = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value, } }; CapturandoUsuario = db.Persona.FirstOrDefault(c => c.Rut.Equals(db.AspNetUsers.FirstOrDefault(d => d.Id.Equals(prueba.Usuario.Id)).RutPersona)).Rut; } Mensajes mensaje = new Mensajes() { IdEvento = es.EventoUnico.Id, RutPersona = CapturandoUsuario, FechaRegistro = DateTime.Now, Descripcion = es.descripcion, Removed = false, Tipo = "Evento", }; db.Mensajes.Add(mensaje); db.SaveChanges(); return(RedirectToAction("Index", "EventoSecuencia", new { EventoID = es.EventoUnico.Id })); }
// GET: /<controller>/ public IActionResult Index(string EventoID) { string CapturandoUsuario = null; ClaimsPrincipal currentUser = User; PruebaUser prueba; Evento EventoVariable = db.Evento.FirstOrDefault(c => c.Id == EventoID); int? Causa01 = null; int? Causa02 = null; int? Causa03 = null; int? Causa04 = null; int? Causa05 = null; int? CausaIntermedia01 = null; int? CausaIntermedia02 = null; int? OrigenFalla0 = null; int? ParteInt = null; int? FallaPrimaria01 = null; int? FallaSecundaria01 = null; if (EventoVariable.Ncaceptada == true) { if (db.AnalisisCausaRaiz.FirstOrDefault(c => c.IdEvento == EventoID && !c.Removed == true) != null) { AnalisisCausaRaiz acr = db.AnalisisCausaRaiz.FirstOrDefault(c => c.IdEvento == EventoID && !c.Removed == true); if (db.OrigenFalla.FirstOrDefault(c => c.Id == acr.IdOrigenFalla) == null) { OrigenFalla0 = null; } else { OrigenFalla0 = db.OrigenFalla.FirstOrDefault(c => c.Id == acr.IdOrigenFalla).Id; } if (db.FallaPrimaria.FirstOrDefault(c => c.Id == acr.IdFallaPrimaria) == null) { FallaPrimaria01 = null; } else { FallaPrimaria01 = db.FallaPrimaria.FirstOrDefault(c => c.Id == acr.IdFallaPrimaria).Id; } if (db.FallaSecundaria.FirstOrDefault(c => c.Id == acr.IdFallaSecundaria) == null) { FallaSecundaria01 = null; } else { FallaSecundaria01 = db.FallaSecundaria.FirstOrDefault(c => c.Id == acr.IdFallaSecundaria).Id; } if (db.Causa1.FirstOrDefault(c => c.Id == acr.IdCausa1) == null) { Causa01 = null; } else { Causa01 = db.Causa1.FirstOrDefault(c => c.Id == acr.IdCausa1).Id; } if (db.Causa2.FirstOrDefault(c => c.Id == acr.IdCausa2) == null) { Causa02 = null; } else { Causa02 = db.Causa2.FirstOrDefault(c => c.Id == acr.IdCausa2).Id; } if (db.Causa3.FirstOrDefault(c => c.Id == acr.IdCausa3) == null) { Causa03 = null; } else { Causa03 = db.Causa3.FirstOrDefault(c => c.Id == acr.IdCausa3).Id; } if (db.Causa4.FirstOrDefault(c => c.Id == acr.IdCausa4) == null) { Causa04 = null; } else { Causa04 = db.Causa4.FirstOrDefault(c => c.Id == acr.IdCausa4).Id; } if (db.Causa5.FirstOrDefault(c => c.Id == acr.IdCausa5) == null) { Causa05 = null; } else { Causa05 = db.Causa5.FirstOrDefault(c => c.Id == acr.IdCausa5).Id; } if (db.CausaIntermedia1.FirstOrDefault(c => c.Id == acr.IdCausaIntermedia1) == null) { CausaIntermedia01 = null; } else { CausaIntermedia01 = db.CausaIntermedia1.FirstOrDefault(c => c.Id == acr.IdCausaIntermedia1).Id; } if (db.CausaIntermedia2.FirstOrDefault(c => c.Id == acr.IdCausaIntermedia2) == null) { CausaIntermedia02 = null; } else { CausaIntermedia02 = db.CausaIntermedia2.FirstOrDefault(c => c.Id == acr.IdCausaIntermedia2).Id; } } } string TipoEvento0; string Cliente0; string Equipo0; string Modelo0; string Componente0; string Area0; string SubArea0; string Parte0; if (db.TipoEvento.FirstOrDefault(c => c.Id == EventoVariable.TipoEvento) == null) { TipoEvento0 = null; } else { TipoEvento0 = db.TipoEvento.FirstOrDefault(c => c.Id == EventoVariable.TipoEvento).Tipo; } if (db.Cliente.FirstOrDefault(c => c.Id == EventoVariable.Cliente) == null) { Cliente0 = null; } else { Cliente0 = db.Cliente.FirstOrDefault(c => c.Id == EventoVariable.Cliente).Nombre; } if (db.Equipo.FirstOrDefault(c => c.Id == EventoVariable.Equipo) == null) { Equipo0 = null; } else { Equipo0 = db.Equipo.FirstOrDefault(c => c.Id == EventoVariable.Equipo).Nombre; } if (db.Modelo.FirstOrDefault(c => c.Id == EventoVariable.Modelo) == null) { Modelo0 = null; } else { Modelo0 = db.Modelo.FirstOrDefault(c => c.Id == EventoVariable.Modelo).Nombre; } if (db.Componente.FirstOrDefault(c => c.Id == EventoVariable.Componente) == null) { Componente0 = null; } else { Componente0 = db.Componente.FirstOrDefault(c => c.Id == EventoVariable.Componente).Nombre; } if (db.Parte.FirstOrDefault(c => c.Id == EventoVariable.Parte) == null) { Parte0 = null; } else { Parte0 = db.Parte.FirstOrDefault(c => c.Id == EventoVariable.Parte).Nombre; } if (db.Area.FirstOrDefault(c => c.Id == EventoVariable.Area) == null) { Area0 = null; } else { Area0 = db.Area.FirstOrDefault(c => c.Id == EventoVariable.Area).Nombre; } if (db.SubArea.FirstOrDefault(c => c.Id == EventoVariable.SubArea) == null) { SubArea0 = null; } else { SubArea0 = db.SubArea.FirstOrDefault(c => c.Id == EventoVariable.SubArea).Nombre; } string nombrecompletojefe = null; if (EventoVariable.RutJefeInvolucrado != null) { nombrecompletojefe = db.Persona.Select(c => new { nombreCompleto = c.Nombre.TrimEnd() + " " + c.ApellidoPaterno.TrimEnd() + " " + c.ApellidoMaterno.TrimEnd(), rut = c.Rut }).FirstOrDefault(c => c.rut.TrimEnd().Equals(EventoVariable.RutJefeInvolucrado)).nombreCompleto; } EventoSecuenciaModels EventoSecuenciaModels; Persona PersonaUnicaPrueba; if (currentUser.IsInRole("Admins")) { CapturandoUsuario = "Administrador"; string creadorEvento = null; if (db.Persona.Select(c => new { nombreCompleto = c.Nombre + c.ApellidoPaterno + c.ApellidoMaterno, rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(EventoVariable.Creador)) != null) { creadorEvento = db.Persona.Select(c => new { nombreCompleto = c.Nombre + c.ApellidoPaterno + c.ApellidoMaterno, rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(EventoVariable.Creador)).nombreCompleto; } else { creadorEvento = "Administrador"; } List <Persona> listapersonaAI = new List <Persona>(); foreach (AccionInmediata ai in db.AccionInmediata.ToList()) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(ai.RutPersona.TrimEnd())); listapersonaAI.Add(persona); } List <Persona> listapersonaAC = new List <Persona>(); foreach (AccionCorrectiva ac in db.AccionCorrectiva.ToList().Where(c => c.EventoId.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(ac.RutPersona.TrimEnd())); listapersonaAC.Add(persona); } List <Persona> listapersonaI = new List <Persona>(); foreach (PersonaEventoInvolucrado pei in db.PersonaEventoInvolucrado.ToList().Where(c => c.IdEvento.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(pei.RutPersona.TrimEnd())); listapersonaI.Add(persona); } List <Persona> listapersonaR = new List <Persona>(); foreach (PersonaEvento pe in db.PersonaEvento.ToList().Where(c => c.IdEvento.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(pe.RutPersona.TrimEnd())); listapersonaR.Add(persona); } AnalisisCausaRaiz RCA; RCA = db.AnalisisCausaRaiz.FirstOrDefault(c => c.IdEvento == EventoID && !c.Removed == true); string creadorrca = null; if (RCA != null) { if (RCA.Creador != null) { creadorrca = db.Persona.Select(c => new { nombreCompleto = c.Nombre.TrimEnd() + " " + c.ApellidoPaterno.TrimEnd() + " " + c.ApellidoMaterno.TrimEnd(), rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(RCA.Creador)).nombreCompleto; } else { creadorrca = "Administrador"; } } RespuestaCliente rc; rc = db.RespuestaCliente.FirstOrDefault(c => c.IdEvento.TrimEnd() == EventoID.TrimEnd() && c.Removed != true); List <Persona> listaAIInvolucrado = new List <Persona>(); foreach (AccionInmediataPersona aii in db.AccionInmediataPersona.ToList()) { Persona persona2 = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(aii.RutPersona.TrimEnd())); listaAIInvolucrado.Add(persona2); } List <Persona> listaJefeSupervisor = new List <Persona>(); foreach (PersonaArea pa in db.PersonaArea.ToList()) { Persona persona2 = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(pa.RutPersona.TrimEnd())); listaJefeSupervisor.Add(persona2); } foreach (PersonaSubArea psa in db.PersonaSubArea.ToList()) { Persona persona2 = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(psa.RutPersona.TrimEnd())); listaJefeSupervisor.Add(persona2); } EventoSecuenciaModels = new EventoSecuenciaModels() { Creador = creadorEvento, CreadorRCA = creadorrca, TipoEvento = TipoEvento0, Cliente = Cliente0, Equipo = Equipo0, Modelo = Modelo0, Componente = Componente0, parte = Parte0, EventoUnico = db.Evento.FirstOrDefault(c => c.Id == EventoID), ListaAccionesInmediatas = db.AccionInmediata.Where(c => c.EventoId == EventoID && !c.Removed == true).ToList(), ListaInvolucradosAccionInmediata = listaAIInvolucrado, ListaPersonasAccionInmediata = listapersonaAI, ListaPersonasAccionCorrectiva = listapersonaAC, ListaPersonasInvolucrados = listapersonaI, ListaPersonasResponsable = listapersonaR, //ListaPersonas = db.Persona.ToList(), //ListaSupervisores = db.Persona.ToList().Where(c => c.IdAreaJefeArea != null || c.IdSubAreaJefeSubArea != null), ListaSupervisores = listaJefeSupervisor.Distinct(), ListaArchivos = db.Archivo.ToList().Where(c => c.Identificador.TrimEnd().Equals(EventoID)), ListaPersonaEvento = db.PersonaEvento.ToList().Where(c => c.IdEvento.TrimEnd().Equals(EventoID)), ListaPersonaEventoInvolucrado = db.PersonaEventoInvolucrado.ToList().Where(c => c.IdEvento.TrimEnd().Equals(EventoID)), ListaMensajes = db.Mensajes.ToList().Where(c => !c.Removed == true), analisis = db.Analisis.FirstOrDefault(c => c.EventoId == EventoID), RCA = RCA, RespuestaUnica = rc, ListaCausas = db.Causa.Where(c => c.IdRca == db.AnalisisCausaRaiz.FirstOrDefault(d => d.IdEvento == EventoID).Id).ToList(), ListaEstado = db.Estado.ToList(), ListaOrigenFalla = db.OrigenFalla.ToList(), ListaAccionCorrectiva = db.AccionCorrectiva.ToList().Where(c => c.EventoId.TrimEnd() == EventoID).OrderBy(d => d.FechaRegistro), Evaluacion = db.Evaluacion.FirstOrDefault(c => c.IdEvento.TrimEnd().Equals(EventoID)), Verificacion = db.Verificacion.FirstOrDefault(c => c.IdEvento.TrimEnd().Equals(EventoID)), Area = Area0, SubArea = SubArea0, Causa1 = Causa01, Causa2 = Causa02, Causa3 = Causa03, Causa4 = Causa04, Causa5 = Causa05, CausaIntermedia1 = CausaIntermedia01, CausaIntermedia2 = CausaIntermedia02, ListaCausa1 = db.Causa1.ToList(), ListaCausa2 = db.Causa2.ToList(), ListaCausa3 = db.Causa3.ToList(), ListaCausa4 = db.Causa4.ToList(), ListaCausa5 = db.Causa5.ToList(), ListaCausaIntermedia1 = db.CausaIntermedia1.ToList(), ListaCausaIntermedia2 = db.CausaIntermedia2.ToList(), OrigenFalla = OrigenFalla0, ResponsableInvolucradoNombre = nombrecompletojefe, ListaProceso1 = db.Proceso1.ToList(), ListaProceso2 = db.Proceso2.ToList(), ListaProceso3 = db.Proceso3.ToList(), ListaProceso4 = db.Proceso4.ToList(), ListaProceso5 = db.Proceso5.ToList(), ListaFallaPrimaria = db.FallaPrimaria.ToList(), ListaFallaSecundaria = db.FallaSecundaria.ToList(), FallaPrimaria = FallaPrimaria01, FallaSecundaria = FallaSecundaria01, }; } else { prueba = new PruebaUser() { ListaUsuarios = db.AspNetUsers.ToList(), Usuario = new AspNetUsers() { Id = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value, } }; PersonaUnicaPrueba = db.Persona.FirstOrDefault(c => c.Rut == db.AspNetUsers.FirstOrDefault(d => d.Id.Equals(prueba.Usuario.Id)).RutPersona); CapturandoUsuario = db.Persona.Select(c => new { nombreCompleto = c.Nombre + c.ApellidoPaterno + c.ApellidoMaterno, rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(db.AspNetUsers.FirstOrDefault(d => d.Id.Equals(prueba.Usuario.Id)).RutPersona)).nombreCompleto; string creadorEvento = null; if (db.Persona.Select(c => new { nombreCompleto = c.Nombre + c.ApellidoPaterno + c.ApellidoMaterno, rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(EventoVariable.Creador)) != null) { creadorEvento = db.Persona.Select(c => new { nombreCompleto = c.Nombre + c.ApellidoPaterno + c.ApellidoMaterno, rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(EventoVariable.Creador)).nombreCompleto; } else { creadorEvento = "Administrador"; } List <Persona> listapersonaAI = new List <Persona>(); foreach (AccionInmediata ai in db.AccionInmediata.ToList().Where(c => c.EventoId.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(ai.RutPersona.TrimEnd())); listapersonaAI.Add(persona); } List <Persona> listapersonaAC = new List <Persona>(); foreach (AccionCorrectiva ac in db.AccionCorrectiva.ToList().Where(c => c.EventoId.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(ac.RutPersona.TrimEnd())); listapersonaAC.Add(persona); } List <Persona> listapersonaI = new List <Persona>(); foreach (PersonaEventoInvolucrado pei in db.PersonaEventoInvolucrado.ToList().Where(c => c.IdEvento.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(pei.RutPersona.TrimEnd())); listapersonaI.Add(persona); } List <Persona> listapersonaR = new List <Persona>(); foreach (PersonaEvento pe in db.PersonaEvento.ToList().Where(c => c.IdEvento.Equals(EventoVariable.Id))) { Persona persona = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(pe.RutPersona.TrimEnd())); listapersonaR.Add(persona); } AnalisisCausaRaiz RCA; RCA = db.AnalisisCausaRaiz.FirstOrDefault(c => c.IdEvento == EventoID && !c.Removed == true); string creadorrca = null; if (RCA != null) { if (RCA.Creador != null) { creadorrca = db.Persona.Select(c => new { nombreCompleto = c.Nombre.TrimEnd() + " " + c.ApellidoPaterno.TrimEnd() + " " + c.ApellidoMaterno.TrimEnd(), rut = c.Rut }).FirstOrDefault(c => c.rut.Equals(RCA.Creador)).nombreCompleto; } else { creadorrca = "Administrador"; } } RespuestaCliente rc; rc = db.RespuestaCliente.FirstOrDefault(c => c.IdEvento.TrimEnd() == EventoID.TrimEnd() && c.Removed != true); List <Persona> listaAIInvolucrado = new List <Persona>(); foreach (AccionInmediataPersona aii in db.AccionInmediataPersona.ToList()) { Persona persona2 = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(aii.RutPersona.TrimEnd())); listaAIInvolucrado.Add(persona2); } List <Persona> listaJefeSupervisor = new List <Persona>(); foreach (PersonaArea pa in db.PersonaArea.ToList()) { Persona persona2 = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(pa.RutPersona.TrimEnd())); listaJefeSupervisor.Add(persona2); } foreach (PersonaSubArea psa in db.PersonaSubArea.ToList()) { Persona persona2 = db.Persona.FirstOrDefault(c => c.Rut.TrimEnd().Equals(psa.RutPersona.TrimEnd())); listaJefeSupervisor.Add(persona2); } EventoSecuenciaModels = new EventoSecuenciaModels() { Creador = creadorEvento, CreadorRCA = creadorrca, TipoEvento = TipoEvento0, Cliente = Cliente0, Equipo = Equipo0, Modelo = Modelo0, Componente = Componente0, parte = Parte0, EventoUnico = db.Evento.FirstOrDefault(c => c.Id == EventoID), ListaAccionesInmediatas = db.AccionInmediata.Where(c => c.EventoId == EventoID && !c.Removed == true).ToList(), ListaInvolucradosAccionInmediata = listaAIInvolucrado, ListaPersonasAccionInmediata = listapersonaAI, ListaPersonasAccionCorrectiva = listapersonaAC, ListaPersonasInvolucrados = listapersonaI, ListaPersonasResponsable = listapersonaR, //ListaPersonas = db.Persona.ToList(), //ListaSupervisores = db.Persona.ToList().Where(c => c.IdAreaJefeArea != null || c.IdSubAreaJefeSubArea != null), ListaSupervisores = listaJefeSupervisor.Distinct(), ListaArchivos = db.Archivo.ToList().Where(c => c.Identificador.TrimEnd().Equals(EventoID)), ListaPersonaEvento = db.PersonaEvento.ToList().Where(c => c.IdEvento.TrimEnd().Equals(EventoID)), ListaPersonaEventoInvolucrado = db.PersonaEventoInvolucrado.ToList().Where(c => c.IdEvento.TrimEnd().Equals(EventoID)), ListaMensajes = db.Mensajes.ToList().Where(c => !c.Removed == true), analisis = db.Analisis.FirstOrDefault(c => c.EventoId == EventoID), PersonaUnica = PersonaUnicaPrueba, ResponsableInvolucradoNombre = nombrecompletojefe, RCA = RCA, RespuestaUnica = rc, ListaCausas = db.Causa.Where(c => c.IdRca == db.AnalisisCausaRaiz.FirstOrDefault(d => d.IdEvento == EventoID).Id).ToList(), ListaEstado = db.Estado.ToList(), ListaOrigenFalla = db.OrigenFalla.ToList(), ListaAccionCorrectiva = db.AccionCorrectiva.ToList().Where(c => c.EventoId.TrimEnd() == EventoID).OrderBy(d => d.FechaRegistro), Evaluacion = db.Evaluacion.FirstOrDefault(c => c.IdEvento.TrimEnd().Equals(EventoID)), Verificacion = db.Verificacion.FirstOrDefault(c => c.IdEvento.TrimEnd().Equals(EventoID)), ListaArea = db.Area.ToList().Where(c => c.Removed != true), ListaSubArea = db.SubArea.ToList().Where(c => c.Removed != true), Area = Area0, SubArea = SubArea0, Causa1 = Causa01, Causa2 = Causa02, Causa3 = Causa03, Causa4 = Causa04, Causa5 = Causa05, CausaIntermedia1 = CausaIntermedia01, CausaIntermedia2 = CausaIntermedia02, ListaCausa1 = db.Causa1.ToList(), ListaCausa2 = db.Causa2.ToList(), ListaCausa3 = db.Causa3.ToList(), ListaCausa4 = db.Causa4.ToList(), ListaCausa5 = db.Causa5.ToList(), ListaCausaIntermedia1 = db.CausaIntermedia1.ToList(), ListaCausaIntermedia2 = db.CausaIntermedia2.ToList(), OrigenFalla = OrigenFalla0, ListaProceso1 = db.Proceso1.ToList(), ListaProceso2 = db.Proceso2.ToList(), ListaProceso3 = db.Proceso3.ToList(), ListaProceso4 = db.Proceso4.ToList(), ListaProceso5 = db.Proceso5.ToList(), ListaFallaPrimaria = db.FallaPrimaria.ToList(), ListaFallaSecundaria = db.FallaSecundaria.ToList(), FallaPrimaria = FallaPrimaria01, FallaSecundaria = FallaSecundaria01, }; } return(View(EventoSecuenciaModels)); }