public IActionResult AddIncidente(IncidenteDto incidenteDto) { var isincidente = serviceIncidente.MapPrioridadAdd(incidenteDto); _repo.incidente.Add(isincidente); _repo.Save(); return(Ok(isincidente)); }
public IActionResult DeleteIncidente(IncidenteDto incidenteDto) { if (incidenteDto.IncidenteId > 0) { var isIncidente = serviceIncidente.MapPrioridadDelete(incidenteDto); _repo.incidente.Update(isIncidente); _repo.Save(); return(Ok(isIncidente)); } else { return(StatusCode(StatusCodes.Status304NotModified)); } }
public IActionResult UpdateIncidente(IncidenteDto incidenteDto) { if (incidenteDto != null) { var isIncidente = serviceIncidente.MapIncidenteUpdate(incidenteDto); _repo.incidente.Update(isIncidente); _repo.Save(); return(Ok(isIncidente)); } else { return(StatusCode(StatusCodes.Status304NotModified)); } }
public Incidente MapPrioridadAdd(IncidenteDto incidenteDto) { _Incidente.UsuarioAsignadoId = incidenteDto.UsuarioAsignadoId; _Incidente.UsuarioReportaId = incidenteDto.UsuarioAsignadoId; _Incidente.PrioridadId = incidenteDto.PrioridadId; _Incidente.DepartamentoId = incidenteDto.DepartamentoId; _Incidente.Titulo = incidenteDto.Titulo; _Incidente.Descripcion = incidenteDto.Descripcion; _Incidente.FechaCierre = incidenteDto.FechaCierre; _Incidente.CoemntarioCierrre = incidenteDto.CoemntarioCierrre; _Incidente.Estatus = incidenteDto.Estatus; _Incidente.Borrado = incidenteDto.Borrado; _Incidente.FechaRegistro = incidenteDto.FechaRegistro; _Incidente.FechaModificacion = DateTime.Now; _Incidente.CreadoPor = incidenteDto.CreadoPor; _Incidente.ModificadoPor = incidenteDto.CreadoPor; // _Incidente.IncidenteId = incidenteDto.IncidenteId; return(_Incidente); }
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); }