public Int32 UltimoID()
        {
            Dato.Modelo.Marca _entidadToIDAdd = db.MarcaSet.ToList().LastOrDefault();
            Int32             _id             = _entidadToIDAdd.ID;

            return(_id);
        }
        public Boolean Create(EntidadNegocio.Entidades.Marca _marca)
        {
            Dato.Modelo.Marca marcaToAdd = new Dato.Modelo.Marca();
            Boolean           resul      = false;

            marcaToAdd.ID          = _marca.ID;
            marcaToAdd.Codigo      = _marca.Codigo;
            marcaToAdd.Descripcion = _marca.Descripcion;
            if (_marca.Status == EntidadNegocio.Enumerados.EnumEstatus.Registro.Activo)
            {
                marcaToAdd.Estatus = 1;
            }
            else
            {
                marcaToAdd.Estatus = 0;
            }

            //valido claves primaria
            if (db.MarcaSet.FirstOrDefault(b => b.ID == marcaToAdd.ID) != null)
            {
                MessageBox.Show(EntidadNegocio.Entidades.Mensajes.Info_ErrorAlGuardarViolacionPK, EntidadNegocio.Entidades.Mensajes.Titulo_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                if (db.Connection.State != System.Data.ConnectionState.Open)
                {
                    db.Connection.Open();
                }

                DbTransaction dbTransaction = db.Connection.BeginTransaction();

                try
                {
                    // Guardar y confirmar.
                    db.AddToMarcaSet(marcaToAdd);
                    db.SaveChanges();
                    dbTransaction.Commit();
                    /// Si la transaccion es exitosa enviamos true
                    Dato.Modelo.Marca _entidadToIDAdd = db.MarcaSet.ToList().LastOrDefault();
                    Int32             _id             = _entidadToIDAdd.ID;
                    _entidadToIDAdd.ID = _id;
                    resul = true;
                }
                catch (Exception ex)
                {
                    dbTransaction.Rollback();
                    HandleException excepcion = new HandleException();
                    String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                    excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                    resul = false;
                }
            }

            return(resul);
        }
        public Boolean Delete(EntidadNegocio.Entidades.Marca _marca)
        {
            Int32 id = _marca.ID; Boolean resul = false;

            Dato.Modelo.Marca marcaToDelete = db.MarcaSet.First(cb => cb.ID == id);

            marcaToDelete.ID          = _marca.ID;
            marcaToDelete.Codigo      = _marca.Codigo;
            marcaToDelete.Descripcion = _marca.Descripcion;
            if (_marca.Status == EntidadNegocio.Enumerados.EnumEstatus.Registro.Activo)
            {
                marcaToDelete.Estatus = 1;
            }
            else
            {
                marcaToDelete.Estatus = 0;
            }

            //valido la Marca tiene un producto
            if (db.ProductoSet.FirstOrDefault(b => b.IDMarca == id) != null)
            {
                MessageBox.Show(String.Format("Esta intentando Borrar una Marca que tiene una Producto"), EntidadNegocio.Entidades.Mensajes.Titulo_Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                try
                {
                    if (db.Connection.State != System.Data.ConnectionState.Open)
                    {
                        db.Connection.Open();
                    }

                    DbTransaction dbTransaction = db.Connection.BeginTransaction();

                    // Delete
                    db.DeleteObject(marcaToDelete);
                    db.SaveChanges();
                    dbTransaction.Commit();
                    /// Si la transaccion es exitosa enviamos true
                    resul = true;
                }
                catch (Exception ex)
                {
                    HandleException excepcion = new HandleException();
                    String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                    excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                    resul = false;
                }
            }

            return(resul);
        }
        public Boolean Edit(EntidadNegocio.Entidades.Marca _marca)
        {
            Int32 id = _marca.ID; Boolean resul = false;

            Dato.Modelo.Marca marcaToUpdate = db.MarcaSet.First(cb => cb.ID == id);

            marcaToUpdate.ID          = _marca.ID;
            marcaToUpdate.Codigo      = _marca.Codigo;
            marcaToUpdate.Descripcion = _marca.Descripcion;
            if (_marca.Status == EntidadNegocio.Enumerados.EnumEstatus.Registro.Activo)
            {
                marcaToUpdate.Estatus = 1;
            }
            else
            {
                marcaToUpdate.Estatus = 0;
            }

            if (db.Connection.State != System.Data.ConnectionState.Open)
            {
                db.Connection.Open();
            }

            DbTransaction dbTransaction = db.Connection.BeginTransaction();

            try
            {
                // Guardar y confirmar.
                db.SaveChanges();
                dbTransaction.Commit();
                /// Si la transaccion es exitosa enviamos true
                resul = true;
            }
            catch (Exception ex)
            {
                dbTransaction.Rollback();
                HandleException excepcion = new HandleException();
                String          msjLog    = "Error en " + ObtenerMetodoEnEjecucion(false).ToString() + ".\n" + excepcion.RegistrarExcepcion(ex, ObtenerMetodoEnEjecucion(false).ToString());
                excepcion.EscribirLogExcepcion(msjLog); String clientMessage = excepcion.HandleExceptionEx(ex); excepcion = null;
                resul = false;
            }

            return(resul);
        }
 public EntidadNegocio.Entidades.Marca Details(int id)
 {
     Dato.Modelo.Marca _marca = new Dato.Modelo.Marca();
     if (id == 0)
     {
         _marca = new Dato.Modelo.Marca();
     }
     else
     {
         _marca = db.MarcaSet.First(c => c.ID == id);
         _marca.TipoLoad();
     }
     EntidadNegocio.Entidades.Marca marcaDetail = new EntidadNegocio.Entidades.Marca();
     marcaDetail.ID          = _marca.ID;
     marcaDetail.Codigo      = _marca.Codigo;
     marcaDetail.Descripcion = _marca.Descripcion;
     if (_marca.Estatus == 1)
     {
         marcaDetail.Status = EntidadNegocio.Enumerados.EnumEstatus.Registro.Activo;
     }
     else
     {
         marcaDetail.Status = EntidadNegocio.Enumerados.EnumEstatus.Registro.Inactivo;
     }
     marcaDetail.Tipo             = new EntidadNegocio.Entidades.Tipo();
     marcaDetail.Tipo.ID          = _marca.IDTipo;
     marcaDetail.IDTipo           = _marca.IDTipo;
     marcaDetail.Tipo.Codigo      = _marca.Tipo.Codigo;
     marcaDetail.Tipo.Descripcion = _marca.Tipo.Descripcion;
     if (_marca.Tipo.Estatus == 1)
     {
         marcaDetail.Tipo.Status = EntidadNegocio.Enumerados.EnumEstatus.Registro.Activo;
     }
     else
     {
         marcaDetail.Tipo.Status = EntidadNegocio.Enumerados.EnumEstatus.Registro.Inactivo;
     }
     marcaDetail.Tipo.Edicion = EntidadNegocio.Enumerados.EnumEstatus.Edicion.Normal;
     marcaDetail.Edicion      = EntidadNegocio.Enumerados.EnumEstatus.Edicion.Normal;
     return(marcaDetail);
 }