public async Task <DetalleDto> Handle(GetIncidenteDetalleQuery request, CancellationToken cancellationToken) { var VM = new DetalleDto(); var CODIGO_INCIDENTE = request.CodIncidente; TIncidente objTIncidente = _context.TIncidente.Find(request.CodIncidente); if (objTIncidente == null || objTIncidente.Estado == false) { throw new NotFoundException("Incidente", request.CodIncidente); } VM = _mapper.Map <DetalleDto>(objTIncidente); VM.EquipoInvestigacion = _context.TEquipoInvestigacion .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <EquipoInvestigacionDetalleDto>(_mapper.ConfigurationProvider) .ToList(); VM.SecuenciaEventos = _context.TSecuenciaEvento .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <SecuenciaEventosDetalleDto>(_mapper.ConfigurationProvider) .ToList(); VM.TestigosInvolucrados = _context.TTestigoInvolucrado .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <TestigosInvolucradosDetalleDto>(_mapper.ConfigurationProvider) .ToList(); return(VM); }
public long maximoNumero(TIncidente incidente) { var maxComunidad = incidente.TafectadoComunidad.Select(t => t.Correlativo).DefaultIfEmpty(0).Max(); var maxMediAmbiente = incidente.TafectadoMedioAmbiente.Select(t => t.Correlativo).DefaultIfEmpty(0).Max(); var maxPropiedad = incidente.TafectadoPropiedad.Select(t => t.Correlativo).DefaultIfEmpty(0).Max(); var maxAfectado = incidente.TinvestigaAfectado.Select(t => t.Correlativo).DefaultIfEmpty(0).Max(); var maxCorrelativo = new[] { maxComunidad, maxMediAmbiente, maxPropiedad, maxAfectado }; return(maxCorrelativo.Max()); }
public async Task <AfectadosDescipcionesAccionesVM> Handle(GetIncidenteAfectadoQuery request, CancellationToken cancellationToken) { var VM = new AfectadosDescipcionesAccionesVM(); var CODIGO_INCIDENTE = request.CodIncidente; TIncidente objTIncidente = _context.TIncidente.Find(request.CodIncidente); if (objTIncidente == null || objTIncidente.Estado == false) { throw new NotFoundException("Incidente", request.CodIncidente); } VM = _context.TDetalleAfectado .Where(t => t.Estado == true && t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <AfectadosDescipcionesAccionesVM>(_mapper.ConfigurationProvider) .FirstOrDefault(); var listAC = _context.TAfectadoComunidad.Where(t => t.Estado == true && t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listAC) { var obj = _mapper.Map <DetalleAfectadoDto>(item); VM.Afectados.Add(obj); } var listMA = _context.TAfectadoMedioAmbiente.Where(t => t.Estado == true && t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listMA) { var obj = _mapper.Map <DetalleAfectadoDto>(item); VM.Afectados.Add(obj); } var listProp = _context.TAfectadoPropiedad.Where(t => t.Estado == true && t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listProp) { var obj = _mapper.Map <DetalleAfectadoDto>(item); VM.Afectados.Add(obj); } var listPersona = _context.TInvestigaAfectado.Where(t => t.Estado == true && t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listPersona) { var obj = _mapper.Map <DetalleAfectadoDto>(item); VM.Afectados.Add(obj); } return(VM); }
public async Task <DatosGeneralesDto> Handle(GetIncidenteGeneralQuery request, CancellationToken cancellationToken) { var VM = new DatosGeneralesDto(); var CODIGO_INCIDENTE = request.CodIncidente; TIncidente objTIncidente = _context.TIncidente.Find(request.CodIncidente); if (objTIncidente == null || objTIncidente.Estado == false) { throw new NotFoundException("Incidente", request.CodIncidente); } VM = _mapper.Map <TIncidente, DatosGeneralesDto>(objTIncidente); return(VM); }
public async Task <List <ICAMDto> > Handle(GetIncidenteICAMQuery request, CancellationToken cancellationToken) { var VM = new List <ICAMDto>(); var CODIGO_INCIDENTE = request.CodIncidente; TIncidente objTIncidente = _context.TIncidente.Find(request.CodIncidente); if (objTIncidente == null || objTIncidente.Estado == false) { throw new NotFoundException("Incidente", request.CodIncidente); } VM = _context.TIcam .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <ICAMDto>(_mapper.ConfigurationProvider) .ToList(); return(VM); }
public async Task <List <PortletTipoIncidente> > Handle(GetPortletTipoMesQuery request, CancellationToken cancellationToken) { TIncidente temp = new TIncidente(); temp.CodTipoIncidente = ""; string user = _httpContext.HttpContext.User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Name)?.Value; if (user == null) { user = "******"; } var today = DateTime.Today; var trendData = (from ti in _context.TIncidente where ti.FechaDelSuceso.Value.Year == today.Year && ti.FechaDelSuceso.Value.Month == today.Month && (ti.CreadoPor.Equals(user)) group ti by new { TipoIncidente = ti.CodTipoIncidente //,SubTipoIncidente = ti.CodSubTipoIncidente } into g select new { CodTipoIncidente = g.Key.TipoIncidente, //SubTipoIncidente = g.Key.SubTipoIncidente, Total = g.Count() } ).AsEnumerable() .Select(g => new PortletTipoIncidente { CodTipoIncidente = g.CodTipoIncidente, Total = g.Total }).ToList(); return(trendData); }
public async Task <int> Handle(UpdateIncidenteCommand request, CancellationToken cancellationToken) { // try{ //var estado = await _general.GetEstadoAprobacion(request.data.CodIncidente, "TINC"); var estado = await _mediator.Send(new GetEstadoDocQuery() { docReferencia = request.data.CodIncidente, codTabla = "TINC" }); //assert(estado); IncidenteDto VM = request.data; string COD_INCIDENTE = VM.CodIncidente; TIncidente incidente = _context.TIncidente.Find(VM.CodIncidente); var rol = request.rol; if (incidente.EstadoIncidente.Equals("C") && (!(rol.Equals("1") || rol.Equals("4")))) { throw new Exception("usuario no autorizado"); } //datos generales incidente = _mapper.Map(VM.DatosGenerales, incidente); //ICAM incidente.Ticam = _context.TIcam.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); incidente.Ticam = _mapper.Map <IList <ICAMDto>, IList <TIcam> >(VM.ICAM); int indexIcan = 1; foreach (var item in incidente.Ticam) { item.Correlativo = indexIcan++; } //analisis Causa incidente.TincidenteAnalisisCausa = _context.TIncidenteAnalisisCausa.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); incidente.TincidenteAnalisisCausa = _mapper.Map <IList <AnalisisCausalidadDto>, IList <TIncidenteAnalisisCausa> >(VM.AnalisisCausalidad); //detalle incidente = _mapper.Map(VM.Detalle, incidente); incidente.TequipoInvestigacion = _context.TEquipoInvestigacion.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); incidente.TequipoInvestigacion = _mapper.Map <IList <EquipoInvestigacionDetalleDto>, IList <TEquipoInvestigacion> >(VM.Detalle.EquipoInvestigacion); int indexEI = 1; foreach (var item in incidente.TequipoInvestigacion) { item.Correlativo = ++indexEI; } incidente.TsecuenciaEvento = _context.TSecuenciaEvento.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); incidente.TsecuenciaEvento = _mapper.Map <IList <SecuenciaEventosDetalleDto>, IList <TSecuenciaEvento> >(VM.Detalle.SecuenciaEventos); int indexSE = 1; foreach (var item in incidente.TsecuenciaEvento) { item.Correlativo = ++indexSE; } incidente.TtestigoInvolucrado = _context.TTestigoInvolucrado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); incidente.TtestigoInvolucrado = _mapper.Map <IList <TestigosInvolucradosDetalleDto>, IList <TTestigoInvolucrado> >(VM.Detalle.TestigosInvolucrados); int indexTI = 1; foreach (var item in incidente.TtestigoInvolucrado) { item.Correlativo = ++indexTI; } //estado cerrado o pentiente if (VM.EstadoIncidente != null && (VM.EstadoIncidente.Equals("P") || VM.EstadoIncidente.Equals("C"))) { incidente.EstadoIncidente = VM.EstadoIncidente; } else { incidente.EstadoIncidente = "P"; } //afectados var DetalleAfectado = _context.TDetalleAfectado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).First(); if (DetalleAfectado == null) { DetalleAfectado = new TDetalleAfectado(); } DetalleAfectado = _mapper.Map <AfectadosDescipcionesAccionesDto, TDetalleAfectado>(VM.AfectadosDescipcionesAcciones, DetalleAfectado); _context.TDetalleAfectado.Update(DetalleAfectado); incidente.TafectadoComunidad = _context.TAfectadoComunidad.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); var deleteAfectadoComunidad = incidente.TafectadoComunidad.ToHashSet(); incidente.TafectadoMedioAmbiente = _context.TAfectadoMedioAmbiente.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); var deleteAfectadoMedioAmbiente = incidente.TafectadoMedioAmbiente.ToHashSet(); incidente.TafectadoPropiedad = _context.TAfectadoPropiedad.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); var deleteAfectadoPropiedad = incidente.TafectadoPropiedad.ToHashSet(); incidente.TinvestigaAfectado = _context.TInvestigaAfectado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); var deleteinvetigaAfectado = incidente.TinvestigaAfectado.ToHashSet(); var index = maximoNumero(incidente); foreach (var item in VM.AfectadosDescipcionesAcciones.Afectados) { if (item.tipoAfectado == TipoAfectado.Comunidad) { var correlativo = item.Comunidad.Correlativo; var data = _context.TAfectadoComunidad.Find(correlativo, COD_INCIDENTE); if (data == null) { data = new TAfectadoComunidad(); data = _mapper.Map <ComunidadAfectadoDto, TAfectadoComunidad>(item.Comunidad); data.Correlativo = Convert.ToInt32(++index); incidente.TafectadoComunidad.Add(data); } else { data = _mapper.Map <ComunidadAfectadoDto, TAfectadoComunidad>(item.Comunidad, data); _context.TAfectadoComunidad.Update(data); deleteAfectadoComunidad.Remove(data); } } else if (item.tipoAfectado == TipoAfectado.Medio_Ambiente) { var correlativo = item.MedioAmbiente.Correlativo; var data = _context.TAfectadoMedioAmbiente.Find(correlativo, COD_INCIDENTE); if (data == null) { data = new TAfectadoMedioAmbiente(); data = _mapper.Map <MedioAmbienteAfectadoDto, TAfectadoMedioAmbiente>(item.MedioAmbiente); data.Correlativo = Convert.ToInt32(++index); incidente.TafectadoMedioAmbiente.Add(data); } else { data = _mapper.Map <MedioAmbienteAfectadoDto, TAfectadoMedioAmbiente>(item.MedioAmbiente, data); _context.TAfectadoMedioAmbiente.Update(data); deleteAfectadoMedioAmbiente.Remove(data); } } else if (item.tipoAfectado == TipoAfectado.Propiedad) { var correlativo = item.Propiedad.Correlativo; var data = _context.TAfectadoPropiedad.Find(correlativo, COD_INCIDENTE); if (data == null) { data = new TAfectadoPropiedad(); data = _mapper.Map <PropiedadAfectadoDto, TAfectadoPropiedad>(item.Propiedad); data.Correlativo = Convert.ToInt32(++index); incidente.TafectadoPropiedad.Add(data); } else { data = _mapper.Map <PropiedadAfectadoDto, TAfectadoPropiedad>(item.Propiedad, data); _context.TAfectadoPropiedad.Update(data); deleteAfectadoPropiedad.Remove(data); } } else if (item.tipoAfectado == TipoAfectado.Persona) { //var data = _context.TInvestigaAfectado.Find(new { CodIncidente = COD_INCIDENTE, Correlativo = item.Propiedad.Correlativo }); var correlativo = Convert.ToInt64(item.Persona.Correlativo); var data = _context.TInvestigaAfectado.Find(COD_INCIDENTE, correlativo); if (data == null) { data = new TInvestigaAfectado(); data = _mapper.Map <PersonaAfectadoDto, TInvestigaAfectado>(item.Persona); data.Correlativo = Convert.ToInt32(++index); incidente.TinvestigaAfectado.Add(data); var diasPerdidiosAfectados = _mapper.Map <ICollection <MenAfectadoPersonaDto>, ICollection <TDiasPerdidosAfectado> >(item.Persona.Men); int i = 1; foreach (var itemDPA in diasPerdidiosAfectados) { itemDPA.CodPersona = data.DocAfectado; itemDPA.Correlativo = i++; itemDPA.CodIncidente = COD_INCIDENTE; } _context.TDiasPerdidosAfectado.AddRange(diasPerdidiosAfectados); } else { data = _mapper.Map <PersonaAfectadoDto, TInvestigaAfectado>(item.Persona, data); var ListModeloAfectadoPersonasMen = item.Persona.Men; _context.TInvestigaAfectado.Update(data); IList <TDiasPerdidosAfectado> Men = _context.TDiasPerdidosAfectado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE) && t.CodPersona.Equals(data.DocAfectado)).ToList(); var deleteMen = Men.ToList(); var maxIndexMen = Men.Select(t => t.Correlativo).DefaultIfEmpty(0).Max(); //IList<TDiasPerdidosAfectado> updateListDiasPerdidos = new List<TDiasPerdidosAfectado>(); foreach (var itemMen in ListModeloAfectadoPersonasMen) { var toInsertOrUpdate = Men.Where(t => t.Correlativo.ToString().Equals(itemMen.Correlativo)).FirstOrDefault(); if (toInsertOrUpdate != null) { toInsertOrUpdate = _mapper.Map <MenAfectadoPersonaDto, TDiasPerdidosAfectado>(itemMen, toInsertOrUpdate); _context.TDiasPerdidosAfectado.Update(toInsertOrUpdate); deleteMen.Remove(toInsertOrUpdate); } else { toInsertOrUpdate = _mapper.Map <MenAfectadoPersonaDto, TDiasPerdidosAfectado>(itemMen); toInsertOrUpdate.CodIncidente = COD_INCIDENTE; toInsertOrUpdate.CodPersona = data.DocAfectado; toInsertOrUpdate.Correlativo = Convert.ToInt32(++maxIndexMen); _context.TDiasPerdidosAfectado.Add(toInsertOrUpdate); } } _context.TDiasPerdidosAfectado.RemoveRange(deleteMen); deleteinvetigaAfectado.Remove(data); } } else { throw new NotFoundException("", ""); } } _context.TAfectadoComunidad.RemoveRange(deleteAfectadoComunidad); _context.TAfectadoMedioAmbiente.RemoveRange(deleteAfectadoMedioAmbiente); _context.TAfectadoPropiedad.RemoveRange(deleteAfectadoPropiedad); _context.TInvestigaAfectado.RemoveRange(deleteinvetigaAfectado); _context.TIncidente.Update(incidente); await _context.SaveChangesAsync(cancellationToken); foreach (var item in request.updateFiles) { if (item.Estado == false) { //var r1 = await _imagen.Delete(item.CorrelativoArchivos.ToString()); var r1 = await _mediator.Send(new DeleteFileCommand() { CorrelativoArchivos = item.CorrelativoArchivos }); } else if (item.Estado == true && item.CorrelativoArchivos != 0) { //var r2 = await _imagen.Update(item); var r2 = await _mediator.Send(new UpdateFileCommand() { CorrelativoArchivos = item.CorrelativoArchivos, Descripcion = item.Descripcion }); } } var updateList = new List <PlanVM>(); var createList = new List <PlanVM>(); foreach (var item in request.planAccion) { if (item.estado == false && item.codAccion > 0) { //var r3 = await _planAccion.Delete(item.codAccion.ToString()); var r3 = await _mediator.Send(new DeletePlanAccionCommand() { CodAccion = item.codAccion }); } else if (item.estado == true && item.codAccion > 0) { updateList.Add(item); } else if (item.codAccion < 0) { createList.Add(item); } } //var r4 = await _planAccion.Create(createList, COD_INCIDENTE); createList.ForEach(t => { t.docReferencia = COD_INCIDENTE; t.docSubReferencia = COD_INCIDENTE; }); var r4 = await _mediator.Send(new CreatePlanAccionCommand() { planes = createList }); //var r5 = await _planAccion.Update(updateList); var r5 = await _mediator.Send(new UpdatePlanAccionCommand() { planes = updateList }); //var r6 = await _imagen.Upload(request.newFiles, COD_INCIDENTE); var r6 = await _mediator.Send(new CreateListFilesCommand { File = request.newFiles, NroDocReferencia = COD_INCIDENTE, NroSubDocReferencia = COD_INCIDENTE, CodTablaRef = "TINC" }); // }catch(Exception e){ // var ee = e; // } return(0); }
public async Task <string> Handle(CreateIncidenteCommand request, CancellationToken cancellationToken) { var nuevo = new TIncidente(); var dataInc = request.data; nuevo.CodIncidente = nextCod(); //mapear datos generales nuevo = _mapper.Map(dataInc.DatosGenerales, nuevo); //mapear ICAN nuevo.Ticam = _mapper.Map <IList <ICAMDto>, IList <TIcam> >(dataInc.ICAM); int indexIcan = 0; foreach (var item in nuevo.Ticam) { item.Correlativo = ++indexIcan; } //mapear analisis causa if (dataInc.AnalisisCausalidad != null) { nuevo.TincidenteAnalisisCausa = _mapper.Map <IList <AnalisisCausalidadDto>, IList <TIncidenteAnalisisCausa> >(dataInc.AnalisisCausalidad); } //mapear detalles if (dataInc.Detalle != null) { nuevo = _mapper.Map(dataInc.Detalle, nuevo); nuevo.TequipoInvestigacion = _mapper.Map <IList <EquipoInvestigacionDetalleDto>, IList <TEquipoInvestigacion> >(dataInc.Detalle.EquipoInvestigacion); int indexEI = 0; foreach (var item in nuevo.TequipoInvestigacion) { item.Correlativo = ++indexEI; } nuevo.TsecuenciaEvento = _mapper.Map <IList <SecuenciaEventosDetalleDto>, IList <TSecuenciaEvento> >(dataInc.Detalle.SecuenciaEventos); int indexSE = 0; foreach (var item in nuevo.TsecuenciaEvento) { item.Correlativo = ++indexSE; } nuevo.TtestigoInvolucrado = _mapper.Map <IList <TestigosInvolucradosDetalleDto>, IList <TTestigoInvolucrado> >(dataInc.Detalle.TestigosInvolucrados); int indexTI = 0; foreach (var item in nuevo.TtestigoInvolucrado) { item.Correlativo = ++indexTI; } } //mapear afectados var nuevoDetalleAfectado = _mapper.Map <AfectadosDescipcionesAccionesDto, TDetalleAfectado>(dataInc.AfectadosDescipcionesAcciones); nuevo.TdetalleAfectado.Add(nuevoDetalleAfectado); foreach (var item in dataInc.AfectadosDescipcionesAcciones.Afectados) { if (item.tipoAfectado == TipoAfectado.Comunidad) { var data = _mapper.Map <ComunidadAfectadoDto, TAfectadoComunidad>(item.Comunidad); nuevo.TafectadoComunidad.Add(data); } else if (item.tipoAfectado == TipoAfectado.Medio_Ambiente) { var data = _mapper.Map <MedioAmbienteAfectadoDto, TAfectadoMedioAmbiente>(item.MedioAmbiente); nuevo.TafectadoMedioAmbiente.Add(data); } else if (item.tipoAfectado == TipoAfectado.Propiedad) { var data = _mapper.Map <PropiedadAfectadoDto, TAfectadoPropiedad>(item.Propiedad); nuevo.TafectadoPropiedad.Add(data); } else if (item.tipoAfectado == TipoAfectado.Persona) { var data = _mapper.Map <PersonaAfectadoDto, TInvestigaAfectado>(item.Persona); nuevo.TinvestigaAfectado.Add(data); var diasPerdidiosAfectados = _mapper.Map <ICollection <MenAfectadoPersonaDto>, ICollection <TDiasPerdidosAfectado> >(item.Persona.Men); int i = 1; foreach (var itemDPA in diasPerdidiosAfectados) { itemDPA.CodPersona = data.DocAfectado; itemDPA.Correlativo = i++; } nuevo.TdiasPerdidosAfectado = diasPerdidiosAfectados; } else { throw new NotFoundException("", ""); } } //estado cerrado o pentiente if (dataInc.EstadoIncidente != null && (dataInc.EstadoIncidente.Equals("P") || dataInc.EstadoIncidente.Equals("C"))) { nuevo.EstadoIncidente = dataInc.EstadoIncidente; } else { nuevo.EstadoIncidente = "P"; } int index = 1; foreach (var item in nuevo.TafectadoComunidad) { item.Correlativo = index++; } foreach (var item in nuevo.TafectadoMedioAmbiente) { item.Correlativo = index++; } foreach (var item in nuevo.TafectadoPropiedad) { item.Correlativo = index++; } foreach (var item in nuevo.TinvestigaAfectado) { item.Correlativo = index++; } _context.TIncidente.Add(nuevo); var r1 = await _context.SaveChangesAsync(cancellationToken); //var r2 = await _imagenes.Upload(request.Files, nuevo.CodIncidente); var r2 = await _mediator.Send(new CreateListFilesCommand { File = request.Files, NroDocReferencia = nuevo.CodIncidente, NroSubDocReferencia = nuevo.CodIncidente, CodTablaRef = "TINC" }); //var r3 = await _planAccion.Create(request.planAccion, nuevo.CodIncidente); request.planAccion.ForEach(t => { t.docReferencia = nuevo.CodIncidente; t.docSubReferencia = nuevo.CodIncidente; }); var r3 = await _mediator.Send(new CreatePlanAccionCommand() { planes = request.planAccion }); return(nuevo.CodIncidente); }
public async Task <int> Handle(DeleteIncidenteCommand request, CancellationToken cancellationToken) { string COD_INCIDENTE = request.Codigo; TIncidente incidente = _context.TIncidente.Find(COD_INCIDENTE); if (incidente == null || incidente.Estado == false) { throw new NotFoundException("incidente", COD_INCIDENTE); } incidente.Estado = false; _context.TIncidente.Update(incidente); //ICAM incidente.Ticam = _context.TIcam.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.Ticam) { item.Estado = false; } _context.TIcam.UpdateRange(incidente.Ticam); //analisis Causa incidente.TincidenteAnalisisCausa = _context.TIncidenteAnalisisCausa.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TincidenteAnalisisCausa) { item.Estado = false; } _context.TIncidenteAnalisisCausa.UpdateRange(incidente.TincidenteAnalisisCausa); //detalle incidente.TequipoInvestigacion = _context.TEquipoInvestigacion.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TequipoInvestigacion) { item.Estado = false; } _context.TEquipoInvestigacion.UpdateRange(incidente.TequipoInvestigacion); incidente.TsecuenciaEvento = _context.TSecuenciaEvento.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TsecuenciaEvento) { item.Estado = false; } _context.TSecuenciaEvento.UpdateRange(incidente.TsecuenciaEvento); incidente.TtestigoInvolucrado = _context.TTestigoInvolucrado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TtestigoInvolucrado) { item.Estado = false; } _context.TTestigoInvolucrado.UpdateRange(incidente.TtestigoInvolucrado); //afectados var DetalleAfectado = _context.TDetalleAfectado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).First(); DetalleAfectado.Estado = false; _context.TDetalleAfectado.Update(DetalleAfectado); incidente.TafectadoComunidad = _context.TAfectadoComunidad.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TafectadoComunidad) { item.Estado = false; } _context.TAfectadoComunidad.UpdateRange(incidente.TafectadoComunidad); incidente.TafectadoMedioAmbiente = _context.TAfectadoMedioAmbiente.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TafectadoMedioAmbiente) { item.Estado = false; } _context.TAfectadoMedioAmbiente.UpdateRange(incidente.TafectadoMedioAmbiente); incidente.TafectadoPropiedad = _context.TAfectadoPropiedad.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TafectadoPropiedad) { item.Estado = false; } _context.TAfectadoPropiedad.UpdateRange(incidente.TafectadoPropiedad); incidente.TinvestigaAfectado = _context.TInvestigaAfectado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TinvestigaAfectado) { item.Estado = false; } _context.TInvestigaAfectado.UpdateRange(incidente.TinvestigaAfectado); incidente.TdiasPerdidosAfectado = _context.TDiasPerdidosAfectado.Where(t => t.CodIncidente.Equals(COD_INCIDENTE)).ToHashSet(); foreach (var item in incidente.TdiasPerdidosAfectado) { item.Estado = false; } _context.TInvestigaAfectado.UpdateRange(incidente.TinvestigaAfectado); //var ri = _imagen.Delete(COD_INCIDENTE); var ri = await _mediator.Send(new DeleteFileDocRefCommand() { NroDocReferencia = COD_INCIDENTE }); //var rplan = _planAccion.Delete(COD_INCIDENTE); var rplan = await _mediator.Send(new DeleteDocRefCommand() { NroDocReferencia = COD_INCIDENTE }); return(await _context.SaveChangesAsync(cancellationToken)); }
public async Task <IncidenteDto> Handle(GetIncidenteQuery request, CancellationToken cancellationToken) { try{ var VM = new IncidenteDto(); var CODIGO_INCIDENTE = request.CodIncidente; TIncidente objTIncidente = _context.TIncidente.Find(request.CodIncidente); if (objTIncidente == null) { throw new NotFoundException("Incidente", request.CodIncidente); } VM.CodIncidente = request.CodIncidente; //datos generales VM.DatosGenerales = _mapper.Map <TIncidente, DatosGeneralesDto>(objTIncidente); //analisis causa VM.AnalisisCausalidad = _context.TIncidenteAnalisisCausa .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <AnalisisCausalidadDto>(_mapper.ConfigurationProvider) .ToList(); //detalle VM.Detalle = _mapper.Map <DetalleDto>(objTIncidente); VM.Detalle.EquipoInvestigacion = _context.TEquipoInvestigacion .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <EquipoInvestigacionDetalleDto>(_mapper.ConfigurationProvider) .ToList(); VM.Detalle.SecuenciaEventos = _context.TSecuenciaEvento .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <SecuenciaEventosDetalleDto>(_mapper.ConfigurationProvider) .ToList(); VM.Detalle.TestigosInvolucrados = _context.TTestigoInvolucrado .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <TestigosInvolucradosDetalleDto>(_mapper.ConfigurationProvider) .ToList(); //ICAM VM.ICAM = _context.TIcam .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <ICAMDto>(_mapper.ConfigurationProvider) .ToList(); //Estado Incidente VM.EstadoIncidente = objTIncidente.EstadoIncidente; //_mapper.Map<IList<ICAMDto>, IList<TIcam>>(dataInc.ICAM); //Afectados var DetalleAfectado = _context.TDetalleAfectado.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)).FirstOrDefault(); VM.AfectadosDescipcionesAcciones = _mapper.Map <TDetalleAfectado, AfectadosDescipcionesAccionesDto>(DetalleAfectado); var listAC = _context.TAfectadoComunidad.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listAC) { var obj = new DetalleAfectadoDto(); obj.Comunidad = _mapper.Map <ComunidadAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Comunidad; VM.AfectadosDescipcionesAcciones.Afectados.Add(obj); } var listMA = _context.TAfectadoMedioAmbiente.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listMA) { var obj = new DetalleAfectadoDto(); obj.MedioAmbiente = _mapper.Map <MedioAmbienteAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Medio_Ambiente; VM.AfectadosDescipcionesAcciones.Afectados.Add(obj); } var listProp = _context.TAfectadoPropiedad.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listProp) { var obj = new DetalleAfectadoDto(); obj.Propiedad = _mapper.Map <PropiedadAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Propiedad; VM.AfectadosDescipcionesAcciones.Afectados.Add(obj); } var listPersona = _context.TInvestigaAfectado.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listPersona) { var obj = new DetalleAfectadoDto(); obj.Persona = _mapper.Map <PersonaAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Persona; obj.Persona.Men = _context.TDiasPerdidosAfectado .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE) && t.CodPersona.Equals(obj.Persona.DocAfectado)) .ProjectTo <MenAfectadoPersonaDto>(_mapper.ConfigurationProvider) .ToList(); VM.AfectadosDescipcionesAcciones.Afectados.Add(obj); } return(VM); } catch (System.Exception e) { var ee = e; throw; } }
public async Task <AfectadosDescipcionesAccionesDto> Handle(GetAfectadosDescipcionesAccionesQuery request, CancellationToken cancellationToken) { var VM = new AfectadosDescipcionesAccionesDto(); var CODIGO_INCIDENTE = request.CodIncidente; TIncidente objTIncidente = _context.TIncidente.Find(request.CodIncidente); if (objTIncidente == null || objTIncidente.Estado == false) { throw new NotFoundException("Incidente", request.CodIncidente); } //_mapper.Map<IList<ICAMDto>, IList<TIcam>>(dataInc.ICAM); VM = _context.TDetalleAfectado .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)) .ProjectTo <AfectadosDescipcionesAccionesDto>(_mapper.ConfigurationProvider) .FirstOrDefault(); var listAC = _context.TAfectadoComunidad.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listAC) { var obj = new DetalleAfectadoDto(); obj.Comunidad = _mapper.Map <ComunidadAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Comunidad; VM.Afectados.Add(obj); } var listMA = _context.TAfectadoMedioAmbiente.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listMA) { var obj = new DetalleAfectadoDto(); obj.MedioAmbiente = _mapper.Map <MedioAmbienteAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Medio_Ambiente; VM.Afectados.Add(obj); } var listProp = _context.TAfectadoPropiedad.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listProp) { var obj = new DetalleAfectadoDto(); obj.Propiedad = _mapper.Map <PropiedadAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Propiedad; VM.Afectados.Add(obj); } var listPersona = _context.TInvestigaAfectado.Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE)); foreach (var item in listPersona) { var obj = new DetalleAfectadoDto(); obj.Persona = _mapper.Map <PersonaAfectadoDto>(item); obj.tipoAfectado = TipoAfectado.Persona; obj.Persona.Men = _context.TDiasPerdidosAfectado .Where(t => t.CodIncidente.Equals(CODIGO_INCIDENTE) && t.CodPersona.Equals(obj.Persona.DocAfectado)) .ProjectTo <MenAfectadoPersonaDto>(_mapper.ConfigurationProvider) .ToList(); VM.Afectados.Add(obj); } return(VM); }