public async Task <ActionResult> validarListaDniAgregarAlGrupo(List <List <string> > documentosAValidar) { //int? dni = null; string dni = ""; var dniExistentes = new List <List <string> >(); List <DenuncianteDto> denunciantes = new List <DenuncianteDto>(); var grupo = new GrupoDto(); using (NuevoDbContext context = new NuevoDbContext()) { foreach (var item in documentosAValidar) { DenuncianteDto nuevoDenunciante = new DenuncianteDto(); if (String.IsNullOrEmpty(item[4])) { if (!String.IsNullOrEmpty(item[3])) { dni = Convert.ToString(item[3]); var nombre = item[1]; var apellido = item[2]; if (context.Denunciantes.Where(d => String.Equals(d.NroDocumento.Trim(), dni.Trim()) && (!d.nombre.Contains(nombre) || !d.apellido.Contains(apellido))).Any()) { dniExistentes.Add(item); } } nuevoDenunciante.nombre = item[1].ToUpper(); nuevoDenunciante.apellido = item[2].ToUpper(); context.Add(nuevoDenunciante); await context.SaveChangesAsync(); } else { var idExistente = Convert.ToInt32(item[4]); nuevoDenunciante = await context.Denunciantes.Where(d => d.DenuncianteId == idExistente).FirstOrDefaultAsync(); } denunciantes.Add(nuevoDenunciante); } if (dniExistentes.Count > 0) { return(Json("Verifique los Nros de Documentos : " + dniExistentes)); } grupo.grupoDenunciantes = denunciantes; grupo.IdDenunciantePrincipal = denunciantes[0].DenuncianteId; context.Add(grupo); await context.SaveChangesAsync(); } return(PartialView("ListGrupoDenunciantes", grupo)); }
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); }
public async Task <ActionResult> AgregarNuevosDenunciantes(List <List <string> > lista, int idGrupo) { var dniExistentes = new List <List <string> >(); List <DenuncianteDto> denunciantes = new List <DenuncianteDto>(); var grupo = new GrupoDto(); using (NuevoDbContext context = new NuevoDbContext()) { foreach (var item in lista) { 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); } } 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)); } //auditoria foreach (var item in denunciantes) { var fechaCreacionGrupoAuditoria = DateTime.Now; var objetoModificado = "GRUPO"; var descripcionObjeto = "Se agregó al Denunciante con Id : " + item.DenuncianteId + " al grupo Id : " + idGrupo.ToString(); var valorAnterior = ""; var valorActual = ""; 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", idGrupo)); } } return(RedirectToAction("TraerGrupoDenunciantes", "Denunciantes", new { grupoId = idGrupo })); }