예제 #1
0
        public Campania ObtenerPorIdCampania(int IdCampania)
        {
            Campania oCampania = new Campania();

            try
            {
                using (SqlConnection cn = new SqlConnection(Conexion.conexion))
                {
                    using (SqlCommand cmd = new SqlCommand("Maestro.Campania_ObtenerId_SP", cn))
                    {
                        cn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@IdCampania", IdCampania);


                        using (SqlDataReader oReader = cmd.ExecuteReader())
                        {
                            if (oReader.Read())
                            {
                                oCampania             = new Campania();
                                oCampania.IdCampania  = Convert.ToInt32(oReader["IdCampania"]);
                                oCampania.Nombre      = Convert.ToString(oReader["Nombre"]);
                                oCampania.Descripcion = Convert.ToString(oReader["Descripcion"]);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message, ex);
            }
            return(oCampania);
        }
예제 #2
0
 public bool ActualizarCampania(Campania oCampania)
 {
     try
     {
         using (SqlConnection cn = new SqlConnection(Conexion.conexion))
         {
             using (SqlCommand cmd = new SqlCommand("Maestro.Campania_Actualizar_SP", cn))
             {
                 cn.Open();
                 cmd.CommandType = CommandType.StoredProcedure;
                 cmd.Parameters.AddWithValue("@IdCampania", oCampania.IdCampania);
                 cmd.Parameters.AddWithValue("@Nombre", oCampania.Nombre);
                 cmd.Parameters.AddWithValue("@Descripcion", oCampania.Descripcion);
                 cmd.Parameters.AddWithValue("@UsuarioCreacion", oCampania.UsuarioCreacion);
                 if (Convert.ToBoolean(cmd.ExecuteNonQuery()))
                 {
                     return(true);
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #3
0
        public List <Campania> ListarTodoCampania()
        {
            Campania        oCampania;
            List <Campania> ListaCampania = new List <Campania>();

            try
            {
                using (SqlConnection cn = new SqlConnection(Conexion.conexion))
                {
                    using (SqlCommand cmd = new SqlCommand("Maestro.Campania_ListarTodo_SP", cn))
                    {
                        cn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        using (SqlDataReader oReader = cmd.ExecuteReader())
                        {
                            while (oReader.Read())
                            {
                                oCampania            = new Campania();
                                oCampania.IdCampania = Convert.ToInt32(oReader["IdCampania"]);
                                oCampania.Nombre     = Convert.ToString(oReader["Nombre"]);

                                ListaCampania.Add(oCampania);
                            }
                            oReader.Close();
                        }

                        return(ListaCampania);
                    }
                }
            }
            catch (SqlException ex)
            {
                throw new ArgumentException(ex.Message, ex);
            }
        }
        /// <summary>
        /// Borra la campaña que está actualmente seleccionado del datagridview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBorrar_Click(object sender, EventArgs e)
        {
            try
            {
                if (dataGridViewCampanias.CurrentRow.Index != -1)
                {
                    Campania mCampania = new Campania {
                        Id = Convert.ToInt32(dataGridViewCampanias["Id", dataGridViewCampanias.CurrentRow.Index].Value)
                    };

                    DialogResult mMessageBoxResultado = MessageBox.Show("¿Desea borrar la Campaña?", "Borrar Campaña", MessageBoxButtons.YesNo);
                    if (mMessageBoxResultado == DialogResult.Yes)
                    {
                        string mCadena = "Se borra la campaña: Id: " + mCampania.Id;
                        cLogger.Debug(mCadena);
                        cFachada.DeleteCampania(mCampania);
                        dataGridViewCampanias.DataSource = cFachada.GetAllCampania();
                        MessageBox.Show("La campaña se ha borrado exitosamente");
                    }
                }
            }
            catch (Exception mException)
            {
                cLogger.Debug(mException.Message);
                MessageBox.Show("Ocurrio un error: " + mException.Message);
            }
        }
예제 #5
0
        public PruebaCampaniaDeslizante()
        {
            InitializeComponent();
            this.rutas = new List <string>();
            this.rutas.Add("gato.jpg");
            this.rutas.Add("Innovación.png");
            this.iCampania = new Campania()
            {
                CampaniaId     = 1,
                FechaInicio    = DateTime.Today,
                FechaFin       = DateTime.Today,
                HoraInicio     = new TimeSpan(2, 0, 0),
                HoraFin        = new TimeSpan(9, 0, 0),
                Titulo         = "Campania1",
                Descripcion    = "desc1",
                DuracionImagen = 2
            };

            for (int i = 0; i < this.rutas.Count; i++)
            {
                byte[] bytes = this.ImageToByte(this.rutas[i].ToString());

                Imagen imgAAgregar = new Imagen()
                {
                    CampaniaId = this.iCampania.CampaniaId,
                    Bytes      = bytes,
                    Orden      = i,
                    Campania   = this.iCampania
                };

                this.iCampania.Imagenes.Add(imgAAgregar);
            }

            this.campaniaDeslizante1.Enabled = false;
        }
예제 #6
0
        public ActionResult DeleteConfirmed(int id)
        {
            Campania campania = db.Campanias.Find(id);

            db.Campanias.Remove(campania);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public string ConsultaUsuariosLlamadas()
        {
            cUsuariosLlamadas usuarios_llamadas = new cUsuariosLlamadas();
            Campania          llamadas          = new Campania();

            usuarios_llamadas = llamadas.consultaUsuariosLlamadas();
            return(JsonConvert.SerializeObject(usuarios_llamadas.lstUsuariosLlamadas));
        }
        public string ConsultaCampaniasLlamadas()
        {
            cCampaignList campania = new cCampaignList();
            Campania      campaign = new Campania();

            campania = campaign.consultaCampanias();
            return(JsonConvert.SerializeObject(campania.lstCampaingList));
        }
예제 #9
0
        /// <summary>
        /// Busca la campaña actual y modifica el valor del timerCampaña para la próxima búsqueda
        /// </summary>
        /// <returns>Campaña</returns>
        private Campania obtenerCampania()
        {
            Campania mCampania  = cFachada.GetCampaniaNow();
            int      mHoraTimer = DateTime.Now.AddHours(1).Hour;

            mHoraTimer = (60 - DateTime.Now.Minute);
            //timerCampaña.Interval = mHoraTimer * 60000;
            return(mCampania);
        }
예제 #10
0
 public ActionResult Edit([Bind(Include = "CampaniaId,Nombre,FechaPlan,Fecha,Publicada")] Campania campania)
 {
     if (ModelState.IsValid)
     {
         db.Entry(campania).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(campania));
 }
        public JsonResult AceptarLlamada(RequestGeneraLlamada request)
        {
            IRepositoryCampania campania = new Campania();
            JsonResult          data     = Data(request.query);
            // Convertir Json a Clase Miembros
            var json = JsonConvert.SerializeObject(data.Data);

            request.miembros = JsonConvert.DeserializeObject <List <RequestGeneraLlamada.Lista> >(json);
            return(Json(campania.GeneraLlamada(request, User.Identity.GetUserId())));
        }
예제 #12
0
        //
        // GET: /Campania/Details/5

        public ActionResult Details(int id = 0)
        {
            Campania campania = db.Campania.Find(id);

            if (campania == null)
            {
                return(HttpNotFound());
            }
            return(View(campania));
        }
예제 #13
0
        ///Metodos relacionados a Campañas

        /// <summary>
        /// Agrega una campaña a la db
        /// </summary>
        /// <param name="pCampania"></param>
        public void AddCampania(Campania pCampania)
        {
            Campania mBusquedaDeCampaniaPorNombre = cRepositoryBaseCampania.Filter(x => x.Nombre == pCampania.Nombre).FirstOrDefault();

            if (mBusquedaDeCampaniaPorNombre != null)
            {
                throw new Exception("Una campania con ese nombre ya existe, elija otro.");
            }
            cRepositoryBaseCampania.Add(pCampania);
            cRepositoryBaseCampania.SaveChanges();
        }
예제 #14
0
        public ActionResult Create([Bind(Include = "CampaniaId,Nombre,FechaPlan,Fecha,Publicada")] Campania campania)
        {
            if (ModelState.IsValid)
            {
                db.Campanias.Add(campania);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(campania));
        }
예제 #15
0
        /// <summary>
        /// inserta o elimina una Campania
        /// </summary>
        /// <returns></returns>
        #region Insertar  o modificar
        public ComplementoDeRespuesta InsertOrUpdate(Campania model)
        {
            var rh = new ComplementoDeRespuesta();

            try
            {
                using (var ctx = _dbContextScopeFactory.Create())
                {
                    if (model.Id == 0)
                    {
                        //Campania campania = new Campania();
                        //campania.Nombre = campaniavm.Nombre;
                        //campania.Fecha = campaniavm.Fecha;
                        //campania.FechaPlan = campaniavm.Fecha;
                        //campania.Publicada = false;
                        //if (campaniavm.IncluyeProspectos)
                        //{
                        //    var prospectos = (from c in db.Clientes
                        //                      where c.TipoClienteId == 1
                        //                      select c).ToList();
                        //    foreach (var item in prospectos)
                        //    {
                        //        campania.Actividades.Add(new Actividad
                        //        {
                        //            ClienteId = item.ClienteId,
                        //            FechaFinal = campania.Fecha.AddDays(-15),
                        //            FechaFinalPlan = campania.Fecha.AddDays(-15),
                        //            FechaInicial = campania.Fecha.AddDays(-15),
                        //            FechaInicialPlan = campania.Fecha.AddDays(-15),
                        //            Descripcion = "Llamar por telefono al cliente para la campaña " + campania.Nombre,
                        //            TipoActividadId = 6,
                        //            Estado = 0
                        //        });
                        //    }
                        //}

                        _CampaniaRepository.Insert(model);
                    }
                    else
                    {
                        _CampaniaRepository.Update(model);
                    }

                    ctx.SaveChanges();
                    rh.SetRespuesta(true);
                }
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }

            return(rh);
        }
예제 #16
0
 public ActionResult Edit(Campania campania)
 {
     if (ModelState.IsValid)
     {
         db.Entry(campania).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdPresentacion = new SelectList(db.Presentacion, "Id", "Nombre", campania.IdPresentacion);
     return(View(campania));
 }
예제 #17
0
 public void updateCampania(Campania pCampania)
 {
     try
     {
         iCampaniaRepository.Update(pCampania);
     }
     catch (Exception exc)
     {
         throw exc;
     }
 }
        public JsonResult Aceptar(RequestGeneraCampania request)
        {
            IRepositoryCampania campania = new Campania();

            request.UserName = User.Identity.Name;
            JsonResult data = Data(request.query);
            // Convertir Json a Clase Miembros
            var json = JsonConvert.SerializeObject(data.Data);

            request.miembros = JsonConvert.DeserializeObject <List <RequestGeneraCampania.Lista> >(json);
            return(Json(campania.GeneraCampania(request, ConfigurationManager.AppSettings["DataCenter"].ToString(), ConfigurationManager.AppSettings["MailChimpApiKey"].ToString(), User.Identity.GetUserId())));
        }
예제 #19
0
        public ActionResult Create(Campania model)
        {
            if (ModelState.IsValid)
            {
                var rh = _ServicioCampanias.InsertOrUpdate(model);
                if (rh.Response)
                {
                    return(RedirectToAction("index"));
                }
            }

            return(View(model));
        }
예제 #20
0
        public ActionResult Create(Campania campania)
        {
            if (ModelState.IsValid)
            {
                campania.Fecha = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("SA Pacific Standard Time"));
                db.Campania.Add(campania);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.IdPresentacion = new SelectList(db.Presentacion, "Id", "Nombre", campania.IdPresentacion);
            return(View(campania));
        }
예제 #21
0
        public List <Imagen> GetImagenes(Campania pCampania)
        {
            Campania mCampania = cDbSetCampania.Find(pCampania.Id);

            if (mCampania == null)
            {
                throw new Exception("No se ha encontrado la Campaña");
            }
            if (mCampania.Imagenes.Count() < 0)
            {
                throw new Exception("La campaña no contiene imágenes");
            }
            return(mCampania.Imagenes.ToList());
        }
예제 #22
0
        // GET: Campanias/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Campania campania = db.Campanias.Find(id);

            if (campania == null)
            {
                return(HttpNotFound());
            }
            return(View(campania));
        }
        public VCampaniaModificar(ref ControladorDominio pControlador, int pCodigoCampania)
            : base(ref pControlador)
        {
            InitializeComponent();
            this.iCampaniaModificar     = this.iControladorDominio.BuscarCampaniaPorId(pCodigoCampania);
            this.iImagenes              = new List <string>();
            this.listaAuxiliar          = this.iListaOrdenada = new List <Imagen>();
            this.imagenesNuevasAAgregar = new Dictionary <string, Imagen>();

            foreach (var item in this.iCampaniaModificar.Imagenes)
            {
                this.listaAuxiliar.Add((Imagen)item);
            }
        }
        /// <summary>
        /// Evento que ejecuta el this.iTimerCampania para ir cambiando las CampaniasDeslizantes
        /// </summary>
        private void timerCampania_Elapsed(object sender, EventArgs e)
        {
            //Detenemos el timer
            double intervalo;
            //int intervaloImagen = 1000;
            string texto = string.Empty;

            this.iTimerCampania.Stop();
            this.campaniaDeslizanteStop();

            DateTime fechaActual = DateTime.Now;
            TimeSpan horaActual  = new TimeSpan(fechaActual.Hour, fechaActual.Minute, fechaActual.Second);

            //Buscamos la próxima campaña a pasar:

            // que fechaActual sea mayor o igual a FechaInicio y menor o igual a FechaFin --> FechaInicio<=fechaActual<=FechaFin
            //HoraInicio <= horaActual < HoraFin
            //Debería devolver una sola campaña
            List <Campania> posiblesCampanias = this.iControladorDominio.BuscarCampaniaPorAtributo

                                                    (x => x.FechaInicio.CompareTo(fechaActual) <= 0 && x.FechaFin.CompareTo(fechaActual) >= 0 &&
                                                    x.HoraInicio.CompareTo(horaActual) <= 0 && x.HoraFin.CompareTo(horaActual) > 0
                                                    );

            if (posiblesCampanias.Count != 0) //Encontró un elemento
            {
                Campania campaniaAPasar = posiblesCampanias[0];

                //Cambia el intervalo al tiempo de la nueva campaña a pasar:
                intervalo = campaniaAPasar.HoraFin.Subtract(horaActual).TotalMilliseconds;

                //ASIGNACION DEL CAMPAÑA A LA VENTANA PARA QUE SE PASE SOLA:
                texto = campaniaAPasar.Titulo + ": " + campaniaAPasar.Descripcion;
                //this.iListaOrdenada = campaniaAPasar.Imagenes.OrderBy(x => x.Orden).ToList();
                //intervaloImagen = campaniaAPasar.DuracionImagen * 1000;
                //this.CampaniaDeslizanteSetIntervalo(Convert.ToString(campaniaAPasar.DuracionImagen * 1000));
                this.campaniaDeslizanteSetCampania(campaniaAPasar);
                this.LabelCampaniaSetTexto(texto);

                this.campaniaDeslizanteStart();
            }
            else //No encontró niguna campaña, no pasa nada, y espera 15 minutos hasta la proxima campaña
            {
                intervalo = IntervaloAlProxCuartoDeHora(horaActual);
            }

            //Comienza el conteo para la proxima campaña
            this.iTimerCampania.Interval = intervalo;
        }
 private void campaniaDeslizanteSetCampania(Campania pCampania)
 {
     // InvokeRequired required compares the thread ID of the
     // calling thread to the thread ID of the creating thread.
     // If these threads are different, it returns true.
     if (this.campaniaDeslizante.InvokeRequired)
     {
         SetCampania d = new SetCampania(campaniaDeslizanteSetCampania);
         this.Invoke(d, new object[] { pCampania });
     }
     else
     {
         this.campaniaDeslizante.Campania = pCampania;
     }
 }
예제 #26
0
        public void AddImagen(string pNombre, byte pHash, Campania pCampania)
        {
            Imagen imagen = new Imagen();

            //imagen.Id
            imagen.Estado = true;
            imagen.Nombre = pNombre;
            imagen.Hash   = pHash;
            try
            {
                iImagenRepository.Insert(imagen);
            }
            catch (Exception exc)
            {
                throw exc;
            }
        }
 public VModificarCampania(ref ControladorDominio pControlador, ref Campania pCampania)
     : base(ref pControlador)
 {
     InitializeComponent();
     this.iCampaniaModificar       = pCampania;
     this.iImagenes                = new List <string>();
     this.listaAuxiliar            = this.iListaOrdenada = new List <Imagen>();
     this.imagenesNuevasAAgregar   = new Dictionary <string, Imagen>();
     this.comboBoxH1.SelectedIndex = 0;
     this.comboBoxH2.SelectedIndex = 0;
     this.comboBoxM1.SelectedIndex = 0;
     this.comboBoxM2.SelectedIndex = 0;
     foreach (var item in this.iCampaniaModificar.Imagenes)
     {
         this.listaAuxiliar.Add((Imagen)item);
     }
 }
예제 #28
0
        /// <summary>
        /// Retorna una Campania por id
        /// </summary>
        /// <returns></returns>
        #region buscar un registro
        public Campania Get(int id)
        {
            var result = new Campania();

            try
            {
                using (var ctx = _dbContextScopeFactory.Create())
                {
                    result = _CampaniaRepository.SingleOrDefault(x => x.Id == id);
                }
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
            }

            return(result);
        }
예제 #29
0
        //
        // GET: /Campania/Edit/5

        public ActionResult Edit(int id = 0)
        {
            Campania campania = db.Campania.Find(id);

            if (campania == null)
            {
                return(HttpNotFound());
            }
            var presentaciones      = db.Presentacion.AsEnumerable();
            var modelPresentaciones = from p in presentaciones
                                      select new PresentacionViewModel()
            {
                Id = p.Id, NombreMostrar = string.Format("{0} - {1}", p.Producto.Nombre, p.Nombre)
            };

            ViewBag.IdPresentacion = new SelectList(modelPresentaciones, "Id", "NombreMostrar", campania.IdPresentacion);
            return(View(campania));
        }
예제 #30
0
        /// <summary>Invoca al Procedimiento Movimientoado que lista Descripcion Base.</summary>
        /// <param name="objFiltro">Parámetros para el filtro de Listar los Descripcion Base</param>
        ///<remarks>
        ///<list type = "bullet">
        ///<item><CreadoPor>Bryan Luna Vasquez.</CreadoPor></item>
        ///<item><FecCrea>12/02/2018</FecCrea></item></list>
        ///<list type="bullet">
        /// <item><FecActu>XX/XX/XXXX.</FecActu></item>
        /// <item><Resp>Responsable.</Resp></item>
        /// <item><Mot>Motivo.</Mot></item></list></remarks>
        public static int Insertar(Campania objEntidad)
        {
            var        objDatabase = new BaseDatos(BD.CadenaConexion.BDDEPA);
            SqlCommand cmd;
            int        nuevoId;

            try
            {
                using (SqlConnection con = objDatabase.CrearConexion())
                {
                    con.Open();
                    try
                    {
                        cmd = objDatabase.ObtenerProcedimiento("dbo.sp_Campania_Insertar");
                        cmd.CommandTimeout = BaseDatos.Timeout();
                        objDatabase.AgregarParametro(ref cmd, "@pMesId", SqlDbType.TinyInt, objEntidad.MesId);
                        objDatabase.AgregarParametro(ref cmd, "@pAnio", SqlDbType.SmallInt, objEntidad.Anio);
                        objDatabase.AgregarParametro(ref cmd, "@pTotal", SqlDbType.Decimal, objEntidad.Total);
                        objDatabase.AgregarParametro(ref cmd, "@pEdificioId", SqlDbType.Int, objEntidad.EdificioId);
                        objDatabase.AgregarParametro(ref cmd, "@pEstadoId", SqlDbType.Int, objEntidad.EstadoId);
                        objDatabase.AgregarParametro(ref cmd, "@pFechaInicio", SqlDbType.SmallDateTime, objEntidad.FechaInicio);
                        objDatabase.AgregarParametro(ref cmd, "@pFechaFin", SqlDbType.SmallDateTime, objEntidad.FechaFin);
                        objDatabase.AgregarParametro(ref cmd, "@pCodigo", SqlDbType.VarChar, objEntidad.Codigo);
                        objDatabase.AgregarParametro(ref cmd, "@pCampaniaId", SqlDbType.Int, 0, true);
                        objDatabase.ExecuteNonQuery(cmd);
                        nuevoId = Convert.ToInt32(objDatabase.ObtenerParametro(cmd, "@pCampaniaId"));
                    }
                    catch
                    {
                        throw;
                    }
                    finally
                    {
                        con.Close();
                    }
                }
            }
            catch
            {
                throw;
            }
            return(nuevoId);
        }