/// <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>
 /// 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())
     {
         pUnitOfWork.CampañaRepository.DeleteWithRelated(pCampaña);
         pUnitOfWork.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>
 /// <returns>Tipo de dato entero que representa el código de la campaña</returns>
 public virtual int Create(Campaña pCampaña)
 {
     using (UnitOfWork pUnitOfWork = new UnitOfWork())
     {
         pUnitOfWork.CampañaRepository.Insert(pCampaña);
         pUnitOfWork.Save();
         return(pCampaña.Codigo);
     }
 }
 /// <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>
 /// Obtiene una instancia de Campaña
 /// </summary>
 /// <param name="pCampañaCodigo">Código de la Campaña que se desea obtener</param>
 /// <returns>Tipo de dato Campaña que representa la buscada por código</returns>
 public virtual Campaña GetByCodigo(int pCampañaCodigo)
 {
     using (UnitOfWork pUnitOfWork = new UnitOfWork())
     {
         Campaña campaña = pUnitOfWork.CampañaRepository.GetByCodigo(pCampañaCodigo);
         foreach (RangoFecha rangoFecha in campaña.RangosFecha)
         {
             RangoFecha aux = pUnitOfWork.RangoFechaRepository.GetByCodigo(rangoFecha.Codigo);
             rangoFecha.RangosHorario = aux.RangosHorario;
             rangoFecha.Principal     = aux.Principal;
         }
         return(campaña);
     }
 }
 public void PrubaCrearCampaña()
 {
     Imagen imagen1 = new Imagen
     {
         Codigo = 1,
         Tiempo = 10,
         Image = ImagenServices.ImageToByteArray(Image.FromFile(@"F:/Lucho/Varios/Salida.jpg", true))
     };
     List<Imagen> listaImagenes = new List<Imagen>();
     listaImagenes.Add(imagen1);
     RangoHorario rangoHor1 = new RangoHorario
     {
         Codigo = 1,
         HoraFin = DateTime.Now.TimeOfDay,
         HoraInicio = DateTime.Now.AddMinutes(98).TimeOfDay
     };
     RangoFecha rangoFecha1 = new RangoFecha
     {
         Codigo = 1,
         FechaInicio = DateTime.Today,
         FechaFin = DateTime.Today.AddDays(10),
         RangosHorario = new List<RangoHorario>()
     };
     rangoFecha1.RangosHorario.Add(rangoHor1);
     List<RangoFecha> listaRangosFecha = new List<RangoFecha>();
     listaRangosFecha.Add(rangoFecha1);
     Campaña campaña = new Campaña
     {
         Codigo = 1,
         Imagenes = listaImagenes,
         Nombre = "Prueba",
         IntervaloTiempo = 80,
         RangosFecha = listaRangosFecha
     };
     FachadaCRUDCampaña fachada = new FachadaCRUDCampaña();
     fachada.Create(campaña);
 }
 /// <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)
 {
     using (UnitOfWork pUnitOfWork = new UnitOfWork())
     {
         Campaña databaseCampaña = this.GetByCodigo(pCampaña.Codigo);
         pUnitOfWork.CampañaRepository.Update(databaseCampaña);
         pUnitOfWork.CampañaRepository.ChangeValues(databaseCampaña, pCampaña);
         //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)
         {
             Imagen imagenOriginal = databaseCampaña.Imagenes.Find(x => x.Equals(pImagen));
             pUnitOfWork.ImagenRepository.ChangeValues(imagenOriginal, pImagen);
         }
         foreach (Imagen pImagen in imagenesEliminadas)
         {
             //Para que no lance excepción
             pImagen.Campaña = null;
             pUnitOfWork.ImagenRepository.DeleteWithRelated(pImagen);
         }
         foreach (Imagen pImagen in imagenesAInsertar)
         {
             //Para que no cree otra campaña
             pImagen.Campaña = null;
             pUnitOfWork.ImagenRepository.Insert(pImagen);
         }
         //Rangos Fecha
         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)
         {
             pRangoFecha.Principal = null;
             pUnitOfWork.RangoFechaRepository.DeleteWithRelated(pRangoFecha);
         }
         foreach (RangoFecha pRangoFecha in rangosFechaAInsertar)
         {
             pRangoFecha.Principal = null;
             pUnitOfWork.RangoFechaRepository.Insert(pRangoFecha);
         }
         foreach (RangoFecha pRangoFecha in rangosFechaModificados)
         {
             //Actualizar Rango Fecha
             RangoFecha rangoFechaOriginal = databaseCampaña.RangosFecha.Find(x => x.Equals(pRangoFecha));
             pUnitOfWork.RangoFechaRepository.ChangeValues(rangoFechaOriginal, pRangoFecha);
             //Rangos Horarios
             List <RangoHorario> rangosHorariosAInsertar = pRangoFecha.RangosHorario;
             for (int i = rangoFechaOriginal.RangosHorario.Count - 1; i >= 0; i--)
             {
                 pUnitOfWork.RangoHorarioRepository.Delete(rangoFechaOriginal.RangosHorario[i]);
             }
             foreach (RangoHorario pRangoHorario in rangosHorariosAInsertar)
             {
                 pRangoHorario.RangoFecha = null;
                 pUnitOfWork.RangoHorarioRepository.Insert(pRangoHorario);
             }
         }
         pUnitOfWork.Save();
     }
 }
Beispiel #8
0
        /// <summary>
        /// Elimina una campaña de la base de datos
        /// </summary>
        /// <param name="pCampaña">Campaña a eliminar</param>
        public void EliminarCampaña(Campaña pCampaña)
        {
            FachadaCRUDCampaña fachadaCampaña = new FachadaCRUDCampaña();

            fachadaCampaña.Delete(fachadaCampaña.GetByCodigo(pCampaña.Codigo));
        }
Beispiel #9
0
        /// <summary>
        /// Actualiza la Campaña de la base de datos
        /// </summary>
        /// <param name="pCampaña">Campaña con los datos nuevos a actualizar</param>
        public void ActualizarCampaña(Campaña pCampaña)
        {
            FachadaCRUDCampaña fachadaCampaña = new FachadaCRUDCampaña();

            fachadaCampaña.Update(pCampaña);
        }
Beispiel #10
0
        /// <summary>
        /// Crea la Campaña en la base de datos
        /// </summary>
        /// <param name="pCampaña">Campaña a crear</param>
        /// <returns>Tipo de dato entero que representa el código en la base de datos de la campaña</returns>
        public int CrearCampaña(Campaña pCampaña)
        {
            FachadaCRUDCampaña fachadaCampaña = new FachadaCRUDCampaña();

            return(fachadaCampaña.Create(pCampaña));
        }
 /// <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();
     }
 }