public ActionResult TraerGrupoDenunciantes(int?grupoId) { GrupoSP grupo = new GrupoSP(); if (grupoId != null || grupoId > 0) { using (NuevoDbContext context = new NuevoDbContext()) { List <DenuncianteGrupoSP> grupoDenunciantes = context.Database .SqlQuery <DenuncianteGrupoSP>("GetGrupoDenunciantesPorIdGrupo @grupoId", new SqlParameter("@grupoId", grupoId)) .ToList(); //grupo.Id = grupoDenunciantes.First().GrupoDto_Id; grupo.Id = int.Parse(grupoId.Value.ToString()); grupo.grupoDenunciantes = grupoDenunciantes; //var idPrincipal = context.Grupos.Find(grupoId).IdDenunciantePrincipal; //grupo.DenunciantePrincipal = context.Denunciantes.Find(idPrincipal); } } return(PartialView("ListGrupoDenunciantesSP", grupo)); //return PartialView("GrupoDenunciantes"); }
public async Task <ActionResult> validarListaDni(List <List <string> > documentosAValidar) { var dniExistentes = new List <List <string> >(); List <DenuncianteDto> denunciantes = new List <DenuncianteDto>(); var grupo = new GrupoDto(); GrupoSP grupoSP = new GrupoSP(); using (NuevoDbContext context = new NuevoDbContext()) { foreach (var item in documentosAValidar) { DenuncianteDto nuevoDenunciante = new DenuncianteDto(); if (String.IsNullOrEmpty(item[4])) { nuevoDenunciante.nombre = item[1].ToUpper(); nuevoDenunciante.apellido = item[2].ToUpper(); nuevoDenunciante.NroDocumento = item[3]; var denuncianteExistente = await context.Denunciantes.Where(d => String.Equals(d.NroDocumento.Trim(), nuevoDenunciante.NroDocumento.Trim()) && String.Equals(d.nombre.Trim(), nuevoDenunciante.nombre.Trim()) && String.Equals(d.apellido.Trim(), nuevoDenunciante.apellido.Trim())) .FirstOrDefaultAsync(); if (denuncianteExistente == null) { context.Add(nuevoDenunciante); await context.SaveChangesAsync(); denunciantes.Add(nuevoDenunciante); } else { denunciantes.Add(denuncianteExistente); } } else { var idExistente = Convert.ToInt32(item[4]); nuevoDenunciante = await context.Denunciantes.Where(d => d.DenuncianteId == idExistente).FirstOrDefaultAsync(); denunciantes.Add(nuevoDenunciante); } //denunciantes.Add(nuevoDenunciante); } //grupo.grupoDenunciantes = denunciantes; comentado 12/05/2020 grupo.IdDenunciantePrincipal = denunciantes[0].DenuncianteId; context.Add(grupo); await context.SaveChangesAsync(); //agregado 12/05/2020 var idGrupo = grupo.Id; foreach (var item in denunciantes) { var fechaCreacion = DateTime.Now; context.Database .ExecuteSqlCommand("Insert into GrupoDenunciantesRel values(@GrupoDto_Id,@DenuncianteId,@fechaCreacion)" , new SqlParameter("@GrupoDto_Id", idGrupo) , new SqlParameter("@DenuncianteId", item.DenuncianteId) , new SqlParameter("@fechaCreacion", fechaCreacion)); } List <DenuncianteGrupoSP> grupoDenunciantes = context.Database .SqlQuery <DenuncianteGrupoSP>("GetGrupoDenunciantesPorIdGrupo @grupoId", new SqlParameter("@grupoId", idGrupo)) .ToList(); grupoSP.Id = grupoDenunciantes.First().GrupoDto_Id; grupoSP.grupoDenunciantes = grupoDenunciantes; // auditoria var fechaCreacionGrupoAuditoria = DateTime.Now; var objetoModificado = "GRUPO"; var descripcionObjeto = "Se ha creado al grupoId : " + grupoSP.Id.ToString(); var valorAnterior = ""; var valorActual = "Cantidad de Integrantes : " + grupoSP.grupoDenunciantes.Count.ToString(); var usuario = System.Web.HttpContext.Current.User.Identity.Name; context.Database .ExecuteSqlCommand("Insert into tCommonChLogger values(@fechaCreacionGrupo,@objetoModificado,@descripcionObjeto,@valorAnterior,@valorActual,@usuario,@GrupoDto_Id)" , new SqlParameter("@fechaCreacionGrupo", fechaCreacionGrupoAuditoria) , new SqlParameter("@objetoModificado", objetoModificado) , new SqlParameter("@descripcionObjeto", descripcionObjeto) , new SqlParameter("@valorAnterior", valorAnterior) , new SqlParameter("@valorActual", valorActual) , new SqlParameter("@usuario", usuario) , new SqlParameter("@GrupoDto_Id", grupoSP.Id)); } return(PartialView("ListGrupoDenunciantesSP", grupoSP)); //return PartialView("ListGrupoDenunciantes", grupo); }