/// <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> /// 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(); } }