Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }