public void Guardar(Insumo insumo)
 {
     DbContext db = new DbContext();
     try
     {
         if (insumo.IdInsumo <= 0)
             db.Insumo.AddObject(insumo);
         else
         {
             Insumo uInsumo = db.Insumo.SingleOrDefault(s => s.IdInsumo == insumo.IdInsumo);
             if (uInsumo != null)
             {
                 uInsumo.IdNegocio = insumo.IdNegocio;
                 uInsumo.IdUnidad = insumo.IdUnidad;
                 uInsumo.Descripcion = insumo.Descripcion;
                 uInsumo.StockMinimo = insumo.StockMinimo;
                 uInsumo.StockMaximo = insumo.StockMaximo;
                 foreach (InsumoPresentacion presentacion in uInsumo.InsumoPresentacion)
                 {
                     db.InsumoPresentacion.DeleteObject(presentacion);
                 }
                 uInsumo.InsumoPresentacion = insumo.InsumoPresentacion;
             }
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public void Guardar(SucursalNegocio sucursal)
 {
     DbContext db = new DbContext();
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         if (sucursal.IdSucursal <= 0)
             db.SucursalNegocio.AddObject(sucursal);
         else
         {
             SucursalNegocio sn = db.SucursalNegocio.Single(s => s.IdSucursal == sucursal.IdSucursal);
             sn.IdNegocio = sucursal.IdNegocio;
             sn.IdColonia = sucursal.IdColonia;
             sn.Nombre = sucursal.Nombre;
             sn.CalleNo = sucursal.CalleNo;
             sn.Activa = sucursal.Activa;
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public void Guardar(Presentaciones presentacion)
 {
     DbContext db = new DbContext();
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         if (presentacion.IdPresentacion <= 0)
             db.Presentaciones.AddObject(presentacion);
         else
         {
             Presentaciones pe = db.Presentaciones.SingleOrDefault(s => s.IdPresentacion == presentacion.IdPresentacion);
             if (pe != null)
             {
                 pe.IdNegocio = presentacion.IdNegocio;
                 pe.IdUnidadMedida = presentacion.IdUnidadMedida;
                 pe.Descripcion = presentacion.Descripcion;
                 pe.Cantidad = presentacion.Cantidad;
                 pe.Costo = presentacion.Costo;
             }
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public void Guardar(UnidadMedida unidad)
 {
     DbContext db = new DbContext();
     try
     {
         if (unidad.IdUnidadMedida <= 0)
             db.UnidadMedida.AddObject(unidad);
         else
         {
             UnidadMedida uMedida = db.UnidadMedida.SingleOrDefault(s => s.IdUnidadMedida == unidad.IdUnidadMedida);
             if (uMedida != null)
             {
                 uMedida.Descripcion = unidad.Descripcion;
                 uMedida.Extracto = unidad.Extracto;
             }
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public void GuardarEmpresa(Empresa empresa)
 {
     DbContext db = new DbContext();
     try
     {
         if (empresa.IdEmpresa <= 0)
             db.Empresa.AddObject(empresa);
         else
         {
             Empresa update = db.Empresa.SingleOrDefault(s => s.IdEmpresa == empresa.IdEmpresa);
             if (update != null)
             {
                 update.Nombre = empresa.Nombre;
                 update.IdColonia = empresa.IdColonia;
                 update.RazonSocial = empresa.RazonSocial;
                 update.RFC = empresa.RFC;
                 update.CalleNo = empresa.CalleNo;
                 update.Email = empresa.Email;
                 update.Logo = empresa.Logo;
             }
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public List<NegociosEmpresa> ObtenerNegociosCategoria(int idEmpresa, bool insertaSeleccion = false)
 {
     DbContext db = new DbContext();
     List<NegociosEmpresa> result;
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         result = db.NegociosEmpresa.Where(w => w.IdEmpresa == idEmpresa).ToList();
         foreach (NegociosEmpresa negocio in result)
         {
             db.LoadProperty(negocio, "Categoria");
         }
         if (insertaSeleccion)
             result.Insert(0, new NegociosEmpresa { IdNegocio = BusinessVariables.ComboBox.ValueMember, Nombre = BusinessVariables.ComboBox.DisplayMember });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public Empresa ObtenerEmpresa()
 {
     Empresa result;
     DbContext db;
     try
     {
         db= new DbContext();
     }
     catch (Exception ex)
     {
         
         throw new Exception(ex.Message);
     }
     
     try
     {
         result = db.Empresa.SingleOrDefault();
         if (result != null)
             db.LoadProperty(result, "Colonias");
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public void Guardar(Categoria categoria)
 {
     DbContext db = new DbContext();
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         categoria.FechaActualizacion = DateTime.Now;
         if (categoria.IdCategoria <= 0)
         {
             categoria.FechaCreacion = DateTime.Now;
             db.Categoria.AddObject(categoria);
         }
         else
         {
             Categoria cat = db.Categoria.SingleOrDefault(s => s.IdCategoria == categoria.IdCategoria);
             if (cat != null)
             {
                 cat.Descripcion = categoria.Descripcion;
                 cat.Imagen = categoria.Imagen;
                 cat.IdNegocio = categoria.IdNegocio;
             }
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public UnidadMedida ObtenerUnidad(int idUnidad)
 {
     UnidadMedida result;
     DbContext db = new DbContext();
     try
     {
         result = db.UnidadMedida.SingleOrDefault(s => s.IdUnidadMedida == idUnidad);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
        public object ObtenerInsumosGrid(int idNegocio)
        {
            object result = null;
            DbContext db = new DbContext();
            try
            {
                var y = db.Insumo
                    .Where(f => f.IdNegocio == idNegocio)
                    .Select(s => new {s.IdInsumo, s.Descripcion, Unidad = s.UnidadMedida.Descripcion})
                    .ToList();

            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return result;
        }
 public List<NegociosEmpresa> ObtenerNegocios(int idEmpresa)
 {
     DbContext db = new DbContext();
     List<NegociosEmpresa> result;
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         result = db.NegociosEmpresa.Where(w => w.IdEmpresa == idEmpresa).ToList();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public List<Colonias> BuscarColoniaCp(int cp, bool insertaSeleccion = false)
 {
     DbContext db = new DbContext();
     List<Colonias> result;
     try
     {
         result = db.Colonias.Where(s => s.CP == cp).OrderBy(o => o.Descripcion).ToList();
         if (insertaSeleccion)
             result.Insert(0, new Colonias { Descripcion = BusinessVariables.ComboBox.DisplayMember, IdColonia = BusinessVariables.ComboBox.ValueMember });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public List<Colonias> ObtenerTodo(bool insertaSeleccion = false)
 {
     DbContext db = new DbContext();
     List<Colonias> result;
     try
     {
         result = db.Colonias.ToList();
         if (insertaSeleccion)
             result.Insert(0, new Colonias { Descripcion = BusinessVariables.ComboBox.DisplayMember, IdColonia = BusinessVariables.ComboBox.ValueMember });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public List<Categoria> ObtenerCategoriasNegocio(int idNegocio, bool insertaSeleccion = false)
 {
     DbContext db = new DbContext();
     List<Categoria> result;
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         result = db.Categoria.Where(w => w.IdNegocio == idNegocio).ToList();
         if (insertaSeleccion)
             result.Insert(0, new Categoria { IdNegocio = BusinessVariables.ComboBox.ValueMember, Descripcion = BusinessVariables.ComboBox.DisplayMember });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public List<UnidadMedida> ObtenerUnidades(bool insertaSeleccion = false)
 {
     List<UnidadMedida> result;
     DbContext db = new DbContext();
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         result = db.UnidadMedida.OrderBy(o=>o.Descripcion).ToList();
         if (insertaSeleccion)
             result.Insert(0, new UnidadMedida { IdUnidadMedida = BusinessVariables.ComboBox.ValueMember, Descripcion = BusinessVariables.ComboBox.DisplayMember });
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
        public List<Producto> ObtenerProductos()
        {
            List<Producto> result = null;
            DbContext db = new DbContext();
            try
            {
                result = db.Producto.ToList();
                foreach (Producto producto in result)
                {
                    db.LoadProperty(producto, "Categoria");
                    if (producto.Categoria != null)
                        db.LoadProperty(producto.Categoria, "NegociosEmpresa");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return result;
        }
 public List<Presentaciones> ObtenerPresentaciones(bool insertaSeleccion = false)
 {
     List<Presentaciones> result;
     DbContext db = new DbContext();
     try
     {
         result = db.Presentaciones.ToList();
         foreach (Presentaciones presentacion in result)
         {
             db.LoadProperty(presentacion, "UnidadMedida");
         }
         if (insertaSeleccion)
             result.Insert(0, new Presentaciones { IdPresentacion = BusinessVariables.ComboBox.ValueMember, Descripcion = BusinessVariables.ComboBox.DisplayMember});
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }
 public void Guardar(NegociosEmpresa negocio)
 {
     DbContext db = new DbContext();
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         if (negocio.IdNegocio <= 0)
             db.NegociosEmpresa.AddObject(negocio);
         else
         {
             NegociosEmpresa ne = db.NegociosEmpresa.SingleOrDefault(s => s.IdNegocio == negocio.IdNegocio);
             if (ne != null)
             {
                 ne.Nombre = negocio.Nombre;
                 ne.Logo = negocio.Logo;
                 ne.Activo = negocio.Activo;
             }
         }
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
 }
 public NegociosEmpresa ObtenerNegocio(int idNegocio)
 {
     DbContext db = new DbContext();
     NegociosEmpresa result;
     try
     {
         db.ContextOptions.ProxyCreationEnabled = _proxy;
         result = db.NegociosEmpresa.SingleOrDefault(s => s.IdNegocio == idNegocio);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.InnerException.Message);
     }
     finally
     {
         db.Dispose();
     }
     return result;
 }