/// <summary> /// Actualiza una Campaña de la base de datos /// </summary> /// <param name="pCampaña">Campaña a actualizar</param> public virtual void Update(Campaña pCampaña) { Campaña databaseCampaña = this.GetByCodigo(pCampaña.Codigo); using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; //IMÁGENES List<Imagen> imagenesEliminadas = ExtesionLista.GetDeleted<Imagen>(databaseCampaña.Imagenes, pCampaña.Imagenes); List<Imagen> imagenesModificadas = ExtesionLista.GetModified<Imagen>(databaseCampaña.Imagenes, pCampaña.Imagenes); List<Imagen> imagenesAInsertar = ExtesionLista.GetNew<Imagen>(databaseCampaña.Imagenes, pCampaña.Imagenes); foreach (Imagen pImagen in imagenesModificadas) { this.iUnitOfWork.ImagenRepository.Update(pImagen); } foreach (Imagen pImagen in imagenesEliminadas) { this.iUnitOfWork.ImagenRepository.Delete(pImagen); } foreach (Imagen pImagen in imagenesAInsertar) { this.iUnitOfWork.ImagenRepository.Insert(pImagen); } //RANGOS FECHA y HORARIO List<RangoFecha> rangosFechaEliminados = ExtesionLista.GetDeleted<RangoFecha>(databaseCampaña.RangosFecha, pCampaña.RangosFecha); List<RangoFecha> rangosFechaModificados = ExtesionLista.GetModified<RangoFecha>(databaseCampaña.RangosFecha, pCampaña.RangosFecha); List<RangoFecha> rangosFechaAInsertar = ExtesionLista.GetNew<RangoFecha>(databaseCampaña.RangosFecha, pCampaña.RangosFecha); foreach (RangoFecha pRangoFecha in rangosFechaEliminados) { this.iUnitOfWork.RangoFechaRepository.Delete(pRangoFecha); } foreach (RangoFecha pRangoFecha in rangosFechaAInsertar) { this.iUnitOfWork.RangoFechaRepository.Insert(pRangoFecha); } foreach (RangoFecha pRangoFecha in rangosFechaModificados) { //Rangos Horarios List<RangoHorario> rangosHorarioDatabase = databaseCampaña.RangosFecha.Find(x => x == pRangoFecha).RangosHorario; List<RangoHorario> rangosHorariosEliminados = ExtesionLista.GetDeleted<RangoHorario>(rangosHorarioDatabase, pRangoFecha.RangosHorario); List<RangoHorario> rangosHorariosModificados = ExtesionLista.GetModified<RangoHorario>(rangosHorarioDatabase, pRangoFecha.RangosHorario); List<RangoHorario> rangosHorariosAInsertar = ExtesionLista.GetNew<RangoHorario>(rangosHorarioDatabase, pRangoFecha.RangosHorario); foreach (RangoHorario pRangoHorario in rangosHorariosEliminados) { this.iUnitOfWork.RangoHorarioRepository.Delete(pRangoHorario); } foreach (RangoHorario pRangoHorario in rangosHorariosAInsertar) { this.iUnitOfWork.RangoHorarioRepository.Insert(pRangoHorario); } foreach (RangoHorario pRangoHorario in rangosHorariosModificados) { this.iUnitOfWork.RangoHorarioRepository.Update(pRangoHorario); } this.iUnitOfWork.RangoFechaRepository.Update(pRangoFecha); } this.iUnitOfWork.CampañaRepository.Update(pCampaña); this.iUnitOfWork.Save(); } }
/// <summary> /// Crea una Banner en la base de datos /// </summary> /// <param name="pBanner">Banner a almacenar en la base de datos</param> public virtual void Create(Banner pBanner) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; this.iUnitOfWork.BannerRepository.Insert(pBanner); this.iUnitOfWork.Save(); } }
/// <summary> /// Obtiene una instancia de Persona /// </summary> /// <param name="pInformacionAdicionalCodigo">Id de la persona que se desea obtener</param> /// <returns></returns> public virtual InformacionAdicional GetByCodigo(int pInformacionAdicionalCodigo) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; InformacionAdicional informacionAdicional = this.iUnitOfWork.InformacionAdicionalRepository.GetByCodigo(pInformacionAdicionalCodigo); return informacionAdicional; } }
/// <summary> /// Obtiene toda la Informacion Adicional de la base de datos /// </summary> /// <returns>Tipo de datos Lista que representa la Información Adicional almacenada</returns> public virtual List<InformacionAdicional> GetAll() { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; List<InformacionAdicional> listaInformacionAdicional = this.iUnitOfWork.InformacionAdicionalRepository.context.InformacionAdicional.ToList<InformacionAdicional>(); return listaInformacionAdicional; } }
/// <summary> /// Elimina una Información Adicional de la base de datos /// </summary> /// <param name="pInformacionAdicional">Información Adicional a eliminar</param> public virtual void Delete(InformacionAdicional pInformacionAdicional) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = new UnitOfWork(); this.iUnitOfWork.InformacionAdicionalRepository.Delete(pInformacionAdicional); this.iUnitOfWork.Save(); } }
/// <summary> /// Crea (guarda) una Información Adicional /// </summary> /// <param name="pInformacionAdicional">Información Adicional a agregar a la base datos</param> public virtual void Create(InformacionAdicional pInformacionAdicional) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; this.iUnitOfWork.InformacionAdicionalRepository.Insert(pInformacionAdicional); this.iUnitOfWork.Save(); } }
/// <summary> /// Crea (guarda) una Campaña junto con sus Imágenes y Rangos de Fecha en la base de datos /// </summary> /// <param name="pCampaña">Campaña a almacenar en la base datos</param> public virtual void Create(Campaña pCampaña) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; this.iUnitOfWork.CampañaRepository.Insert(pCampaña); this.iUnitOfWork.Save(); } }
/// <summary> /// Actualiza un Banner de la base de datos /// </summary> /// <param name="pBanner">Banner a actualizar de la base de datos</param> public virtual void Update(Banner pBanner) { Banner databaseBanner = this.GetByCodigo(pBanner.Codigo); using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; //Rangos Fecha List<RangoFecha> rangosFechaEliminados = ExtesionLista.GetDeleted<RangoFecha>(databaseBanner.RangosFecha, pBanner.RangosFecha); List<RangoFecha> rangosFechaModificados = ExtesionLista.GetModified<RangoFecha>(databaseBanner.RangosFecha, pBanner.RangosFecha); List<RangoFecha> rangosFechaAInsertar = ExtesionLista.GetNew<RangoFecha>(databaseBanner.RangosFecha, pBanner.RangosFecha); foreach (RangoFecha pRangoFecha in rangosFechaEliminados) { this.iUnitOfWork.RangoFechaRepository.Delete(pRangoFecha); } foreach (RangoFecha pRangoFecha in rangosFechaAInsertar) { this.iUnitOfWork.RangoFechaRepository.Insert(pRangoFecha); } foreach (RangoFecha pRangoFecha in rangosFechaModificados) { //Rangos Horarios List<RangoHorario> rangosHorarioDatabase = databaseBanner.RangosFecha.Find(x => x == pRangoFecha).RangosHorario; List<RangoHorario> rangosHorariosEliminados = ExtesionLista.GetDeleted<RangoHorario>(rangosHorarioDatabase, pRangoFecha.RangosHorario); List<RangoHorario> rangosHorariosModificados = ExtesionLista.GetModified<RangoHorario>(rangosHorarioDatabase, pRangoFecha.RangosHorario); List<RangoHorario> rangosHorariosAInsertar = ExtesionLista.GetNew<RangoHorario>(rangosHorarioDatabase, pRangoFecha.RangosHorario); foreach (RangoHorario pRangoHorario in rangosHorariosEliminados) { this.iUnitOfWork.RangoHorarioRepository.Delete(pRangoHorario); } foreach (RangoHorario pRangoHorario in rangosHorariosAInsertar) { this.iUnitOfWork.RangoHorarioRepository.Insert(pRangoHorario); } foreach (RangoHorario pRangoHorario in rangosHorariosModificados) { this.iUnitOfWork.RangoHorarioRepository.Update(pRangoHorario); } this.iUnitOfWork.RangoFechaRepository.Update(pRangoFecha); this.iUnitOfWork.BannerRepository.Update(pBanner); this.iUnitOfWork.Save(); } } }
/// <summary> /// Elimina un Banner de la base de datos /// </summary> /// <param name="pBanner">Banner a eliminar</param> public virtual void Delete(Banner pBanner) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = new UnitOfWork(); this.iUnitOfWork.BannerRepository.Delete(pBanner); this.iUnitOfWork.Save(); } }
/// <summary> /// Obtiene una instancia de Banner /// </summary> /// <param name="pBannerCodigo">Código del Banner que se desea obtener</param> /// <returns></returns> public virtual Banner GetByCodigo(int pBannerCodigo) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; Banner banner = this.iUnitOfWork.BannerRepository.GetByCodigo(pBannerCodigo); this.iUnitOfWork.CampañaRepository.context.Entry(banner).Collection("RangosFecha").Load(); foreach (RangoFecha rangoFecha in banner.RangosFecha) { this.iUnitOfWork.RangoFechaRepository.context.Entry(rangoFecha).Collection("RangosHorario").Load(); } return banner; } }
/// <summary> /// Obtiene todos los Banners de la base de datos /// </summary> /// <returns>Tipo de dato Lista que representa los Banners almacenados en la base de dato</returns> public virtual List<Banner> GetAll() { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; List<Banner> listaBanners = this.iUnitOfWork.BannerRepository.context.Banners.ToList<Banner>(); foreach (Banner banner in listaBanners) { this.iUnitOfWork.CampañaRepository.Queryable.Include("RangosFecha").ToList(); foreach (RangoFecha rangoFecha in banner.RangosFecha) { this.iUnitOfWork.RangoFechaRepository.Queryable.Include("RangosHorario").ToList(); } } return listaBanners; } }
/// <summary> /// Obtiene una instancia de Campaña /// </summary> /// <param name="pCampañaCodigo">Código de la Campaña que se desea obtener</param> /// <returns></returns> public virtual Campaña GetByCodigo(int pCampañaCodigo) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; Campaña campaña = this.iUnitOfWork.CampañaRepository.GetByCodigo(pCampañaCodigo); this.iUnitOfWork.CampañaRepository.context.Entry(campaña).Collection("Imagenes").Load(); this.iUnitOfWork.CampañaRepository.context.Entry(campaña).Collection("RangosFecha").Load(); foreach(RangoFecha rangoFecha in campaña.RangosFecha) { this.iUnitOfWork.RangoFechaRepository.context.Entry(rangoFecha).Collection("RangosHorario").Load(); } return campaña; } }
/// <summary> /// Obtiene todos las Campañas de la base de datos /// </summary> /// <returns>Tipo de dato Lista que representa todas las Campañas almacenadas en la base de datos</returns> public virtual List<Campaña> GetAll() { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = pUnitOfWork; List<Campaña> listaCampañas = this.iUnitOfWork.CampañaRepository.context.Campañas.ToList<Campaña>(); foreach (Campaña campaña in listaCampañas) { this.iUnitOfWork.CampañaRepository.Queryable.Include("Imagen").ToList(); this.iUnitOfWork.CampañaRepository.Queryable.Include("RangosFecha").ToList(); foreach (RangoFecha rangoFecha in campaña.RangosFecha) { this.iUnitOfWork.RangoFechaRepository.Queryable.Include("RangosHorario").ToList(); } } return listaCampañas; } }
/// <summary> /// Elimina una Campaña de la base de datos /// </summary> /// <param name="pCampaña">Campaña a eliminar</param> public virtual void Delete(Campaña pCampaña) { using (UnitOfWork pUnitOfWork = new UnitOfWork()) { this.iUnitOfWork = new UnitOfWork(); this.iUnitOfWork.CampañaRepository.Delete(pCampaña); this.iUnitOfWork.Save(); } }