public CampaignDTO GetCampaignById(string id)
        {
            SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
            // get campaign id from the model
            CampaignDTO campaignDTO = new CampaignDTO();

            using (sqlconn)
            {
                using (SqlCommand cmd = new SqlCommand("SelecOneCampaign", sqlconn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    sqlconn.Open();
                    cmd.Parameters.AddWithValue("@CampaignID", id);

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        reader.Read();

                        campaignDTO.StartDate   = (DateTime)reader["StartDate"];
                        campaignDTO.EndDate     = (DateTime)reader["EndDate"];
                        campaignDTO.Description = reader["Description"].ToString();
                        campaignDTO.Country     = reader["Country"].ToString();
                    }
                }
            }
            return(campaignDTO);
        }
Example #2
0
        public void RemoveCampaignService()
        {
            var uow = new UnitOfWork(new DigitalSignageDbContext("Test"));

            CampaignService cS = new CampaignService();

            Campaign campaign = new Campaign();

            campaign.Name        = "nueva campaña";
            campaign.Description = "qsy";
            campaign.InitDate    = new DateTime().AddYears(2018);
            campaign.EndDate     = new DateTime().AddYears(2018);
            campaign.InitTime    = new TimeSpan();
            campaign.EndTime     = new TimeSpan();

            uow.CampaignRepository.Add(campaign);
            uow.Complete();

            var campaignDTO = new CampaignDTO();

            AutoMapper.Mapper.Map(campaign, campaignDTO);

            try
            {
                cS.Remove(campaignDTO);
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
        }
Example #3
0
        public ActionResult Edit(CampaignDTO objeCampaign)
        {
            if (ModelState.IsValid)
            {
                using (sqlconn)
                {
                    using (SqlCommand cmd = new SqlCommand("UpdateCampaignDescription", sqlconn))
                    {
                        cmd.CommandType = System.Data.CommandType.StoredProcedure;


                        cmd.Parameters.AddWithValue("@CampaignID", objeCampaign.CampaignID);
                        cmd.Parameters.AddWithValue("@StartDate", objeCampaign.StartDate);
                        cmd.Parameters.AddWithValue("@EndDate", objeCampaign.EndDate);
                        cmd.Parameters.AddWithValue("@Description", objeCampaign.Description);
                        cmd.Parameters.AddWithValue("@Country", objeCampaign.Country);

                        sqlconn.Open();
                        cmd.ExecuteNonQuery();
                        sqlconn.Close();
                    }
                }
            }
            return(View());
        }
Example #4
0
        public ActionResult Details(string id)
        {
            CampaignViewModel campaignVM = new CampaignViewModel();
            CampaignDTO       campaign   = campaignVM.GetCampaignById(id);

            return(View(campaign));
        }
        /// <summary>
        /// Crea una campaña
        /// </summary>
        /// <param name="pCampignDTO">camapaña que se quiere crear</param>
        public void Create(CampaignDTO pCampignDTO)
        {
            ///Mapea el DTO a un objecto Campaign
            var campaign = new Campaign();

            AutoMapper.Mapper.Map(pCampignDTO, campaign);

            ///Si hay una lista de Image entonces las mapea a sus DTO
            if (pCampignDTO.Images != null)
            {
                for (int i = 0; i < pCampignDTO.Images.Count; i++)
                {
                    AutoMapper.Mapper.Map(pCampignDTO.Images[i], campaign.Images[i]);
                }
            }

            try
            {
                log.Info("Guardando campaña");
                this.iUnitOfWork.CampaignRepository.Add(campaign);
                this.iUnitOfWork.Complete();
                log.Info("Campaña creada con exito");
            }
            catch (ArgumentException e)
            {
                log.Error("Error al crear campaña: " + e.Message);
                throw new ArgumentException();
            }
        }
        public void Put(CampaignDTO campaign, string id) //Update, all fields in one
        {
            UpdateLocalDB();

            foreach (Campaign c in allCampaign)
            {
                if (c.Id == id)
                {
                    Campaign input = ConvDTOtoDB(campaign);
                    if (input.Name != null)
                    {
                        c.Name = input.Name;
                    }
                    if (input.Type != null)
                    {
                        SelectType(input);
                        c.Type = input.Type;
                    }
                    if (input.Description != null)
                    {
                        c.Description = input.Description;
                    }
                    if (input.Active)    //removes active campaign if any
                    {
                        Activate(id);    //activate campaign
                    }
                    else
                    {
                        Deactivate(id);        //deactivate campaign
                    }
                    _campaignDB.Update(input); //Updates Campaign in DataBase
                    break;
                }                              //if none found does nothing
            }
        }
        public CampaignDTO Post(CampaignDTO campaign) //Creates a new Campaign
        {
            if (VerifyFields(campaign))
            {
                UpdateLocalDB();
                Campaign input = ConvDTOtoDB(campaign);

                if (allCampaign.Count == 0)  //verifies if allCampaigns is empty
                {
                    input.Id = "CAMPAIGN-1"; //if it is, its first member has id = 1
                }
                else
                {
                    Campaign c        = allCampaign.Last();
                    string[] fracment = c.Id.Split("-");
                    int      lastId   = Int32.Parse(fracment[1]) + 1;
                    input.Id = "CAMPAIGN-" + lastId; //if not, it is the last id + 1
                }
                SelectType(input);
                if (input.Active)
                {
                    if (_campaignDB.OneCampaignActive()) //if a campaign is already active
                    {
                        input.Active = false;            //input campaign can´t be activate
                    }
                }
                _campaignDB.Create(input); //Creates Campaign in DataBase
                return(campaign);
            }
            return(null);
        }
Example #8
0
 void IAddModifyViewForm.Add(IDTO pNewCampaign)
 {
     this.txtTitle.Text       = String.Empty;
     this.txtDescription.Text = String.Empty;
     this.Text = "Agregar nueva Campaña";
     this.iOriginalCampaign = (CampaignDTO)pNewCampaign;
 }
        public List <CampaignDTO> GetAllCampaigns()
        {
            SqlConnection      sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
            List <CampaignDTO> list    = new List <CampaignDTO>();

            using (sqlconn)
            {
                using (SqlCommand cmd = new SqlCommand("SelectAllCampaigns", sqlconn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    sqlconn.Open();

                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            CampaignDTO campaignDTO = new CampaignDTO
                            {
                                CampaignID  = reader["CampaignID"].ToString(),
                                StartDate   = (DateTime)reader["StartDate"],
                                EndDate     = (DateTime)reader["EndDate"],
                                Description = reader["Description"].ToString(),
                                Country     = reader["Country"].ToString()
                            };

                            list.Add(campaignDTO);
                        }
                    }
                }
            }
            return(list);
        }
        /// <summary>
        /// Actualiza una campaña
        /// </summary>
        /// <param name="pCampaignDTO">Campaña a actualizar</param>
        public void Update(CampaignDTO pCampaignDTO)
        {
            IUnitOfWork    iUnitOfWork    = new UnitOfWork(new DigitalSignageDbContext());
            CampaignMapper campaignMapper = new CampaignMapper();
            Campaign       campaign       = new Campaign();
            Campaign       oldCampaign    = new Campaign();

            campaignMapper.MapToModel(pCampaignDTO, campaign);

            oldCampaign = iUnitOfWork.campaignRepository.Get(pCampaignDTO.id);

            //actualiza los datos
            oldCampaign.name     = campaign.name;
            oldCampaign.initTime = campaign.initTime;
            oldCampaign.endTime  = campaign.endTime;
            oldCampaign.initDate = campaign.initDate;
            oldCampaign.endDate  = campaign.endDate;
            oldCampaign.imagesList.Clear();
            oldCampaign.imagesList = campaign.imagesList;
            oldCampaign.interval   = campaign.interval;



            iUnitOfWork.Complete();
            cLogger.Info("Campaña actualizada");
        }
Example #11
0
        public ActionResult Edit(string id)
        {
            CampaignViewModel campaignVM = new CampaignViewModel();
            CampaignDTO       status     = campaignVM.GetCampaignById(id);

            status.CampaignID = id;
            return(View(status));
        }
        public CampaignDTO Post([FromBody] CampaignDTO campaign)
        {
            Console.WriteLine("from post => " + campaign.Id + " - " + campaign.Name + " - " + campaign.Type + " - " + campaign.Description);
            _campaignLogic.Post(campaign); //Create, Makes a new Campaign
            var dbServer = _configuration.GetSection("Database").GetSection("ServerName");

            campaign.Name = $"{campaign.Name} data from {dbServer.Value}";
            return(campaign);
        }
        public static void ReadCampaign()
        {
            List <CampaignDTO> CampaignDTOList = new List <CampaignDTO>();

            CampaignDTOList = CampaignService.GetCampaignNotSentList();
            if (CampaignDTOList != null)
            {
                foreach (var item in CampaignDTOList)
                {
                    try
                    {
                        CampaignDTO CampaignDTO = new CampaignDTO();
                        CampaignDTO = item;
                        DateTime ScheduledDate = CampaignDTO.ScheduledDate.Date;
                        DateTime Time;
                        if (CampaignDTO.ScheduledTime != "")
                        {
                            Time = Convert.ToDateTime(CampaignDTO.ScheduledTime);
                        }
                        else
                        {
                            Time = Convert.ToDateTime("12:00 AM");
                        }

                        ScheduledDate = Convert.ToDateTime(ScheduledDate.Date.ToString("MM/dd/yyyy") + " " + Time.TimeOfDay);

                        Console.WriteLine("Scheduled Time = " + ScheduledDate);

                        if (ScheduledDate <= System.DateTime.Now)
                        {
                            SplitMobile(item.RecipientsNumber, CampaignDTO);
                        }
                        else
                        {
                        }
                    }
                    catch (Exception ex)
                    {
                        using (FileStream file = new FileStream(Directory.GetCurrentDirectory() + "\\msgBlasterBackendService_Log.txt", FileMode.Append, FileAccess.Write))
                        {
                            StreamWriter streamWriter = new StreamWriter(file);
                            streamWriter.WriteLine(System.DateTime.Now + " - " + "  ReadCampaign()" + " - " + ex.Message);
                            streamWriter.Close();
                        }

                        continue;
                    }
                }
            }


            //Check Client Balance

            //Modify Client Balance
        }
 private Campaign MapCampaignDtoToModel(CampaignDTO campaignDto)
 {
     return(new Campaign
     {
         Id = campaignDto.Id,
         Description = campaignDto.Description,
         From = campaignDto.From,
         To = campaignDto.To,
         Url = campaignDto.Url
     });
 }
Example #15
0
        public static CampaignDTO CampaignToDTO(Campaign Campaign)
        {
            if (Campaign == null)
            {
                return(null);
            }
            Mapper.CreateMap <Campaign, CampaignDTO>();
            CampaignDTO CampaignDTO = Mapper.Map <CampaignDTO>(Campaign);

            return(CampaignDTO);
        }
Example #16
0
        public ActionResult Create(CampaignDTO campaign)
        {
            var newId = _campaigns.Create(campaign);

            if (newId == -1)
            {
                return(BadRequest());
            }

            return(CreatedAtAction(nameof(Get), new { id = newId }));
        }
        public CampaignDTO ConvDBtoDTO(Campaign old) //Converts a DB Campaign to a DTOCampaign
        {
            CampaignDTO valid = new CampaignDTO();

            valid.Id          = old.Id;
            valid.Name        = old.Name;
            valid.Description = old.Description;
            valid.Type        = old.Type;
            valid.Active      = old.Active;
            return(valid);
        }
Example #18
0
        public async Task <IActionResult> GetCampaignByIdAsync([FromRoute] int campaignId)
        {
            var campaign = await _campaignRepository.GetCampaignByIdAsync(campaignId);

            if (campaign == null)
            {
                throw new NotFound404Exception("campaign");
            }

            return(Ok(CampaignDTO.GetFrom(campaign)));
        }
Example #19
0
        public static Campaign CampaignToDomain(CampaignDTO CampaignDTO)
        {
            if (CampaignDTO == null)
            {
                return(null);
            }
            Mapper.CreateMap <CampaignDTO, Campaign>();
            Campaign Campaign = Mapper.Map <Campaign>(CampaignDTO);

            return(Campaign);
        }
Example #20
0
 private async Task SaveCampaignAsync(CartDTO cart, CampaignDTO selectedCampaign, double discountAmount)
 {
     CartCampaignDTO cartCampaignDTO = new CartCampaignDTO
     {
         CartId         = cart.CartId,
         CampaignId     = selectedCampaign.CampaignId,
         DiscountAmount = discountAmount
     };
     CartCampaignModel cartCampaignModel = _mapper.Map <CartCampaignModel>(cartCampaignDTO);
     await _cartEFService.SaveCartCampaignAsync(cartCampaignModel, cart.CartId);
 }
        private void dgvCampaign_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow         row      = dgvCampaign.CurrentRow;
            CampaignDTO             campaign = (CampaignDTO)dgvCampaign.GetItem(row.Index);
            AgregarModificarCampaña ventana  = new AgregarModificarCampaña(this.iFactory);

            if (this.dgvCampaign.Modify(ventana, campaign))
            {
                iController.ModifyCampaign(campaign);
                this.CargarDataGrid();
            }
        }
 private Campaign MapCampaignDtoToModel(CampaignDTO campaignDto)
 {
     return(new Campaign
     {
         Id = campaignDto.Id,
         Name = campaignDto.Name,
         Description = campaignDto.Description,
         From = campaignDto.From,
         To = campaignDto.To,
         PictureUri = campaignDto.PictureUri
     });
 }
Example #23
0
 public void CreateCampaign([FromBody] CampaignDTO data)
 {
     _logger.LogInformation(0, "inside method");
     try
     {
         campaignService.CreateCampaign(data);
     }
     catch (Exception ex)
     {
         _logger.LogInformation(4, ex.Message);
     }
 }
Example #24
0
        public async Task <ActionResult> CreateCoupon([FromBody] CampaignDTO campaign)
        {
            var campaignRepo = _mapper.Map <Campaign>(campaign);

            _repo.Add(campaignRepo);

            if (await _repo.SaveAll())
            {
                return(Ok(campaign));
            }

            return(BadRequest("Adding category error"));
        }
        public Campaign ConvDTOtoDB(CampaignDTO old) //Converts a DTOCampaign to a DB Campaign
        {
            Campaign valid = new Campaign();

            if (old.Id != "CAMPAIGN-0")
            {
                valid.Id = old.Id;
            }
            valid.Name        = old.Name;
            valid.Description = old.Description;
            valid.Type        = old.Type;
            valid.Active      = old.Active;
            return(valid);
        }
 public void CancelCampaign(string accessId, CampaignDTO campaignDTO)
 {
     try
     {
         CampaignService.CancelCampaign(campaignDTO);
     }
     catch (Exception)
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError)
         {
             Content      = new StringContent("An error occurred, please try again or contact the administrator."),
             ReasonPhrase = "Critical Exception"
         });
     }
 }
Example #27
0
        public ActionResult Update(int id, CampaignDTO campaign)
        {
            if (id != campaign.Id)
            {
                return(BadRequest());
            }


            return(_campaigns.Update(campaign) switch
            {
                OperationResults.Fail => BadRequest(),
                OperationResults.Success => NoContent(),
                OperationResults.NotFound => NotFound(),
                _ => throw new NotImplementedException(),
            });
Example #28
0
 void IAddModifyViewForm.Modify(IDTO pCampaign)
 {
     if (pCampaign == null)
     {
         throw new EntidadNulaException("La campaña indicada es nula");
         //TODO excepcion argumentexception creo
     }
     else
     {
         this.iOriginalCampaign   = (CampaignDTO)pCampaign;
         this.txtTitle.Text       = iOriginalCampaign.Name;
         this.txtDescription.Text = iOriginalCampaign.Description;
         this.Text = "Modificar Campaña";
     }
 }
        public async Task <ActionResult> CreateCampaignAsync([FromBody] CampaignDTO campaignDto)
        {
            if (campaignDto is null)
            {
                return(BadRequest());
            }

            var campaign = MapCampaignDtoToModel(campaignDto);

            await _context.Campaigns.AddAsync(campaign);

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetCampaignByIdAsync), new { id = campaign.Id }, null));
        }
        private CampaignDTO MapCampaignModelToDto(Campaign campaign)
        {
            var userId = _identityService.GetUserIdentity();
            var dto    = new CampaignDTO
            {
                Id          = campaign.Id,
                Name        = campaign.Name,
                Description = campaign.Description,
                From        = campaign.From,
                To          = campaign.To,
                PictureUri  = GetUriPlaceholder(campaign),
            };

            return(dto);
        }