/// <summary> /// Elimina un banner TXT del repositorio. /// </summary> /// <param name="pBanner">Banner TXT a eliminar.</param> public void Eliminar(BannerTXT pBannerTXT) { BannerTXT mBannerTXT = iUnidadDeTrabajo.RepositorioBannerTXT.ObtenerPorId(pBannerTXT.BannerTXTId); iUnidadDeTrabajo.RepositorioBannerTXT.Eliminar(mBannerTXT); iUnidadDeTrabajo.Guardar(); }
/// <summary> /// Inserta un banner TXT en el repositorio. /// </summary> /// <param name="pBanner">Banner TXT a insertar.</param> public void Insertar(BannerTXT pBannerTXT) { iUnidadDeTrabajo.RepositorioBannerTXT.Insertar(pBannerTXT); iUnidadDeTrabajo.Guardar(); }
/// <summary> /// Modificar un banner TXT en el repositorio. /// </summary> /// <param name="pBanner">Banner TXT a modificar.</param> public void Modificar(BannerTXT pBannerTXT) { iUnidadDeTrabajo.RepositorioBannerTXT.Modificar(pBannerTXT); iUnidadDeTrabajo.Guardar(); }
private void btnAgregar_Click(object sender, EventArgs e) { Banner mBanner = new Banner(new BannerTXT(""), TipoBanner.TXT) { FechaInicio = dtpFechaInicio.Value.Date, HoraInicio = dtpHoraInicio.Value.TimeOfDay, FechaFin = dtpFechaFin.Value.Date, HoraFin = dtpHoraFin.Value.TimeOfDay }; if (txtNombreBanner.Text == "") { Utilidades.MensajeError(this, "¡Atención!", "Debe ingresar un nombre para el banner."); txtNombreBanner.Focus(); } else if (dtpHoraFin.Value <= dtpHoraInicio.Value) { Utilidades.MensajeError(this, "¡Atención!", "La hora en la que termina el banner debe ser posterior a la de inicio."); dtpHoraFin.Focus(); } else if (radioTextoFijo.Checked && txtTextoFijo.Text == "") { Utilidades.MensajeError(this, "¡Atención!", "Debe ingresar algún texto para mostrar en el banner."); txtTextoFijo.Focus(); } else if (radioFuenteRSS.Checked && comboFuenteRSS.SelectedItem == null) { Utilidades.MensajeError(this, "¡Atención!", "Debe seleccionar alguna fuente RSS para mostrar en el banner."); comboFuenteRSS.Focus(); } else if (iAgregar && iCtrlBanner.ExisteBannerEnHorario(mBanner)) { Utilidades.MensajeError(this, "¡Atención!", "Existe otro banner en ese horario. Elija otro momento del día en el cual mostrarlo."); dtpHoraInicio.Focus(); } else { List<Banner> mListaSolapamientos = null; int mSolapamientos = 0; if (!iAgregar)//Para optimizar tiempo, solo se consulta esto si se modifica { mListaSolapamientos = iCtrlBanner.ListaBannersEnHorario(mBanner); mSolapamientos = mListaSolapamientos.Count; } if ( ((iBanner == null) ? false: iBanner.Activo) && //Si no esta activo no se verifica los solapamientos, se lo haran en el formBuscar al querer activar ( (!iAgregar && mSolapamientos > 1) || (!iAgregar && mSolapamientos == 1 && iBanner.Id != mListaSolapamientos.ElementAt(0).Id) ) ) { Utilidades.MensajeError(this, "¡Atención!", "Existe otro banner en ese horario. Elija otro momento del día en el cual mostrarlo."); dtpHoraInicio.Focus(); } else { try { if (radioTextoFijo.Checked) { if (iAgregar)//Se esta agregando un Banner { BannerTXT iBtxt = new BannerTXT(txtTextoFijo.Text); iCtrlBannerTXT.Insertar(iBtxt); iBanner = new Banner(iBtxt, TipoBanner.TXT); } else//Se esta modificando un BRSS { //Solo borramos la fuente si es TXT anteriormente y el texto de esta es distinto al que se desea actualmente, //ya que unicamente los bTXT son usados por el banner que la crea if (iBanner.Tipo == TipoBanner.TXT && iBanner.Fuente.Proximo() != txtTextoFijo.Text) iCtrlBannerTXT.Eliminar((BannerTXT)iBanner.Fuente); BannerTXT iBtxt = new BannerTXT(txtTextoFijo.Text); iCtrlBannerTXT.Insertar(iBtxt); iBanner.CambiarTipo(iBtxt, TipoBanner.TXT); } } else if (radioFuenteRSS.Checked) { if (iAgregar)//Se esta agregando un Banner iBanner = new Banner((BannerRSS)comboFuenteRSS.SelectedItem, TipoBanner.RSS); else { //Solo borramos la fuente si es TXT ya que unicamente la usa el banner que la crea if (iBanner.Tipo == TipoBanner.TXT) iCtrlBannerTXT.Eliminar((BannerTXT)iBanner.Fuente); iBanner.CambiarTipo((BannerRSS)comboFuenteRSS.SelectedItem, TipoBanner.RSS); } } iBanner.Nombre = txtNombreBanner.Text; iBanner.IntervaloEnSeg = (tbarIntervalo.Value); // Se hace el cast porque se sabe que es > 0. iBanner.FechaInicio = dtpFechaInicio.Value.Date; iBanner.FechaFin = dtpFechaFin.Value.Date; iBanner.HoraInicio = dtpHoraInicio.Value.TimeOfDay; iBanner.HoraFin = dtpHoraFin.Value.TimeOfDay; if (iAgregar) //Agregar. { iBanner.Activo = true; //Siempre al agregarse se lo considera activo //Forma encontrada para guardar los banner asociandolos al usuario iCtrlUsuario.UsuarioLogueado.ListaBanner.Add(iBanner); iCtrlUsuario.Modificar(iCtrlUsuario.UsuarioLogueado); iLogger.Info("Banner insertado en el repositorio."); Utilidades.MensajeExito(this, "¡Perfecto!", "Banner agregado correctamente."); } else//Modificar { iCtrlBanner.Modificar(iBanner); iLogger.Info("Banner insertado en el repositorio."); Utilidades.MensajeExito(this, "¡Perfecto!", "Banner modificado correctamente."); } this.Close(); } catch (Exception ex) { iLogger.Error(ex.Source + ": " + ex.Message); Utilidades.MensajeError(this, "¡Error!", "Ocurrió un error inesperado."); } } }//else }