public void GuardarModificar() { try { using (var db = new ModeloDatos()) { var LastRegister = 0; var flag = false; var registro = new CategoriaJurado(); if (this.categoria_id > 0) { if (this.CategoriaJurado != null) { flag = true; } db.Database.ExecuteSqlCommand( "DELETE FROM CategoriaJurado WHERE categoria_id = @categoria_id", new SqlParameter("categoria_id", this.categoria_id) ); LastRegister = Convert.ToInt32(db.Database.SqlQuery <decimal>("Select IDENT_CURRENT ('CategoriaJurado')", new object[0]).FirstOrDefault()); registro = db.CategoriaJurado .Where(x => x.categoria_id == this.categoria_id).SingleOrDefault(); var categoriajurado = this.CategoriaJurado; this.CategoriaJurado = null; db.Entry(this).State = EntityState.Modified; this.CategoriaJurado = categoriajurado; } else { registro = db.CategoriaJurado .Where(x => x.categoria_id == this.categoria_id).SingleOrDefault(); db.Entry(this).State = EntityState.Added; } foreach (var c in this.CategoriaJurado) { if (!flag) { if (registro == null) { c.categoriajurado_id = LastRegister + 1; db.Entry(c).State = EntityState.Added; LastRegister++; } else { c.categoriajurado_id = registro.categoriajurado_id; db.Entry(c).State = EntityState.Unchanged; } } } db.SaveChanges(); } } catch (Exception) { throw; } }
public void GuardarNuevo() { try { using (var db = new ModeloDatos()) { var LastRegister = 0; var flag = false; var registro = new CategoriaJurado(); if (this.categoria_id == 0) { db.Database.ExecuteSqlCommand( "DELETE FROM CategoriaJurado WHERE categoria_id = @categoria_id", new SqlParameter("categoria_id", this.categoria_id) ); LastRegister = db.CategoriaJurado .OrderByDescending(x => x.categoriajurado_id) .First().categoriajurado_id; registro = db.CategoriaJurado .Where(x => x.categoria_id == this.categoria_id).SingleOrDefault(); var cursodocente = this.CategoriaJurado; flag = true; this.CategoriaJurado = null; db.Database.ExecuteSqlCommand( "insert into Categoria values(@categoria_id,@nombre,@descripcion)", new SqlParameter("categoria_id", this.categoria_id), new SqlParameter("nombre", this.nombre), new SqlParameter("descripcion", this.descripcion) ); this.CategoriaJurado = cursodocente; foreach (var c in this.CategoriaJurado) { db.Database.ExecuteSqlCommand( "insert into CategoriaJurado values(@categoria_id,@persona_id)", new SqlParameter("categoria_id", this.categoria_id), new SqlParameter("persona_id", c.persona_id) ); } } else { registro = db.CategoriaJurado .Where(x => x.categoria_id == this.categoria_id).SingleOrDefault(); db.Entry(this).State = EntityState.Added; } if (flag) { } else { db.SaveChanges(); } } } catch (Exception) { throw; } }