public static Direccion getDireccionByGuid(Guid direccionGuid)
        {
            try
            {
                Direccion result;
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //result = db.Direccion.Find(direccionGuid);
                    //result.Pais = db.Pais.Find((Guid)result.UIDPais);
                    //result.Provincia = db.Provincia.Find((Guid)result.UIDProvincia);

                    //Llamada a procedimientos almacenados
                    var direccionGuidParameter = new SqlParameter("UIDDireccion", direccionGuid);
                    result           = db.Database.SqlQuery <Direccion>("exec GetDireccionById @UIDDireccion ", direccionGuidParameter).ToList <Direccion>().FirstOrDefault();
                    result.Pais      = PaisDAL.getPaisById((Guid)result.UIDPais);
                    result.Provincia = ProvinciaDAL.getProvinciaById((Guid)result.UIDProvincia);
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return(null);
            }
        }
        public static void updateContacto(Contacto contacto)
        {
            try
            {
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //db.Entry(contacto).State = EntityState.Modified;
                    //db.SaveChanges();

                    //Llamada a procedimientos almacenados
                    var contactoGuidParameter          = new SqlParameter("@UIDContacto", contacto.UIDContacto);
                    var contactoDireccionGuidParameter = new SqlParameter("@UIDDireccion", contacto.UIDDireccion);
                    var contactoNombreParameter        = new SqlParameter("@Nombre", contacto.Nombre);
                    var contactoEmailParameter         = new SqlParameter("@Email", contacto.Email);
                    var contactoTelefono = new SqlParameter("@Telefono", contacto.Telefono);
                    var contactoMovil    = new SqlParameter("@Movil", contacto.Movil);
                    db.Database.ExecuteSqlCommand("exec UpdateContactoById @UIDContacto,@UIDDireccion,@Nombre,@Email,@Telefono,@Movil",
                                                  contactoGuidParameter,
                                                  contactoDireccionGuidParameter,
                                                  contactoNombreParameter,
                                                  contactoEmailParameter,
                                                  contactoTelefono,
                                                  contactoMovil);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }
        }
        public static void createDireccion(Direccion direccion)
        {
            try
            {
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //db.Direccion.Add(direccion);
                    //db.SaveChanges();

                    //Llamada a procedimientos almacenados
                    var direccionGuidParameter = new SqlParameter("@UIDDireccion", direccion.UIDDireccion);
                    var direccionCP            = new SqlParameter("@CP", direccion.CP);
                    var direccionLocalidad     = new SqlParameter("@Localidad", direccion.Localidad);
                    var direccionGuidProvincia = new SqlParameter("@UIDProvincia", direccion.UIDProvincia);
                    var direccionGuidPais      = new SqlParameter("@UIDPais", direccion.UIDPais);
                    var direccionTelefono      = new SqlParameter("@Telefono", direccion.Telefono);
                    db.Database.ExecuteSqlCommand("exec CreateDireccion @UIDDireccion,@CP,@Localidad,@UIDProvincia,@UIDPais,@Telefono",
                                                  direccionGuidParameter,
                                                  direccionCP,
                                                  direccionLocalidad,
                                                  direccionGuidProvincia,
                                                  direccionGuidPais,
                                                  direccionTelefono);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }
        }
        public static List <Contacto> applyFilter(Filter filtro)
        {
            try
            {
                List <Contacto> result = new List <Contacto>();
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //if (filtro != null)
                    //{
                    //    var query = db.Contacto.AsQueryable();
                    //    if (!String.IsNullOrEmpty(filtro.nombre))
                    //        query = query.Where(x => x.Nombre == filtro.nombre);
                    //    if (!String.IsNullOrEmpty(filtro.email))
                    //        query = query.Where(x => x.Email == filtro.email);
                    //    if (filtro.telefono != 0)
                    //        query = query.Where(x => x.Telefono == filtro.telefono);
                    //    if (filtro.movil != 0)
                    //        query = query.Where(x => x.Movil == filtro.movil);
                    //    result = query.ToList();
                    //    if (!String.IsNullOrEmpty(filtro.direccion))
                    //    {
                    //        result = getResultByDireccion(filtro.direccion, result);
                    //    }
                    //}

                    //Llamada a procedimientos almacenados
                    result = getAllContactos();
                    if (filtro != null)
                    {
                        if (!String.IsNullOrEmpty(filtro.nombre))
                        {
                            result = result.Where(x => x.Nombre == filtro.nombre).ToList();
                        }
                        if (!String.IsNullOrEmpty(filtro.email))
                        {
                            result = result.Where(x => x.Email == filtro.email).ToList();
                        }
                        if (filtro.telefono != 0)
                        {
                            result = result.Where(x => x.Telefono == filtro.telefono).ToList();
                        }
                        if (filtro.movil != 0)
                        {
                            result = result.Where(x => x.Movil == filtro.movil).ToList();
                        }
                        if (!String.IsNullOrEmpty(filtro.direccion))
                        {
                            result = result.Where(x => x.Direccion.FullName.Contains(filtro.direccion)).ToList();
                        }
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return(new List <Contacto>());
            }
        }
        public static List <Contacto> getAllContactos()
        {
            try
            {
                List <Contacto> result;
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //result = db.Contacto.ToList();

                    //Llamada a procedimientos almacenados
                    result = db.Database.SqlQuery <Contacto>("exec GetAllContactos").ToList <Contacto>();
                    foreach (Contacto contacto in result)
                    {
                        contacto.Direccion = DireccionDAL.getDireccionByGuid((Guid)contacto.UIDDireccion);
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return(new List <Contacto>());
            }
        }
        //TODO: ver como cargar los objetos lazy

        public static Contacto getContactoByGuid(Guid contactoGuid)
        {
            try
            {
                Contacto result;
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //result = db.Contacto.Find(contactoGuid);
                    //result.Direccion = db.Direccion.Find((Guid)result.UIDDireccion);
                    //result.Direccion.Pais = db.Pais.Find((Guid)result.Direccion.UIDPais);
                    //result.Direccion.Provincia = db.Provincia.Find((Guid)result.Direccion.UIDProvincia);

                    //Llamada a procedimientos almacenados
                    var contactoGuidParameter = new SqlParameter("@UIDContacto", contactoGuid); //Tiene que haber una manera mejor de hacerlo...
                    result           = db.Database.SqlQuery <Contacto>("exec GetContactoById @UIDContacto ", contactoGuidParameter).ToList <Contacto>().FirstOrDefault();
                    result.Direccion = DireccionDAL.getDireccionByGuid((Guid)result.UIDDireccion);
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return(null);
            }
        }
        public static List <Direccion> getAllDirecciones()
        {
            try
            {
                List <Direccion> result;
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa a BBDD
                    //result = db.Direccion.ToList();
                    //foreach (var direccion in result)
                    //{
                    //    try
                    //    {
                    //        direccion.Pais = db.Pais.Find((Guid)direccion.UIDPais);
                    //        direccion.Provincia = db.Provincia.Find((Guid)direccion.UIDProvincia);
                    //    }
                    //    catch (Exception ex)
                    //    {
                    //        Console.Write(ex.ToString());
                    //    }

                    //}

                    //Llamada a procedimientos almacenados
                    result = db.Database.SqlQuery <Direccion>("exec GetAllDirecciones").ToList <Direccion>();
                    foreach (Direccion direccion in result)
                    {
                        try
                        {
                            direccion.Pais      = PaisDAL.getPaisById((Guid)direccion.UIDPais);
                            direccion.Provincia = ProvinciaDAL.getProvinciaById((Guid)direccion.UIDProvincia);
                        }
                        catch (Exception ex)
                        {
                            Console.Write(ex.ToString());
                        }
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return(new List <Direccion>());
            }
        }
示例#8
0
 public static Pais getPaisById(Guid guidPais)
 {
     try
     {
         Pais result;
         using (CYC_PracticasEntities db = new CYC_PracticasEntities())
         {
             var paisGuidParameter = new SqlParameter("@UIDPais", guidPais);
             result = db.Database.SqlQuery <Pais>("exec GetPaisById @UIDPais", paisGuidParameter).ToList <Pais>().FirstOrDefault();
         }
         return(result);
     }
     catch (Exception ex)
     {
         Console.Write(ex.ToString());
         return(null);
     }
 }
 public static Provincia getProvinciaById(Guid guidProvincia)
 {
     try
     {
         Provincia result;
         using (CYC_PracticasEntities db = new CYC_PracticasEntities())
         {
             var provinciaGuidParameter = new SqlParameter("@UIDProvincia", guidProvincia);
             result = db.Database.SqlQuery <Provincia>("exec GetProvinciaById @UIDProvincia", provinciaGuidParameter).ToList <Provincia>().FirstOrDefault();
         }
         return(result);
     }
     catch (Exception ex)
     {
         Console.Write(ex.ToString());
         return(new Provincia());
     }
 }
示例#10
0
        public static List <Pais> getAllPaises()
        {
            try
            {
                List <Pais> result;
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //result = db.Pais.ToList();

                    //Llamada a procedimientos almacenados
                    result = db.Database.SqlQuery <Pais>("exec GetAllPaises").ToList <Pais>();
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
                return(new List <Pais>());
            }
        }
        public static void deleteContacto(Contacto contacto)
        {
            try
            {
                using (CYC_PracticasEntities db = new CYC_PracticasEntities())
                {
                    //Llamada directa contra BBDD
                    //db.Contacto.Attach(contacto);
                    //db.Contacto.Remove(contacto);
                    //db.SaveChanges();

                    //Llamada a procedimientos almacenados
                    var contactoGuidParameter = new SqlParameter("@UIDContacto", contacto.UIDContacto); //Tiene que haber una manera mejor de hacerlo...
                    db.Database.ExecuteSqlCommand("exec DeleteContactoById @UIDContacto ", contactoGuidParameter);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }
        }