/// <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");
        }
        public void GivenACampaign_WhenToDto_ThenReturnCampaignDtoObjectWithSameProperties()
        {
            //given
            var campaign = new CampaignBuilder()
                                .WithId(Guid.NewGuid())
                                .WithName("testName")
                                .WithClient("testClient")
                                .WithStatus(CampaignStatus.Active)
                                .WithStartDate(DateTime.Today.AddDays(5))
                                .WithClassStartDate(DateTime.Today.AddDays(5))
                                .WithComment("testComment")
                                .Build();

            var campaignMapper = new CampaignMapper();

            //when
            var newDto = campaignMapper.ToDto(campaign);

            //then
            Assert.Equal(campaign.Id.ToString(), newDto.Id);
            Assert.Equal(campaign.Name, newDto.Name);
            Assert.Equal(campaign.Client, newDto.Client);
            Assert.Equal(campaign.Status, newDto.Status);
            Assert.Equal(campaign.StartDate, newDto.StartDate);
            Assert.Equal(campaign.ClassStartDate, newDto.ClassStartDate);
            Assert.Equal(campaign.Comment, newDto.Comment);
        }
        private CampaignsController SetupController()
        {
            var samples   = CampaignSamples.Get().Select(model => CampaignMapper.ToEntity(model)).ToList();
            var dataStore = new MockCampaignStore(samples);
            var manager   = new CampaignManager(dataStore);

            return(new CampaignsController(manager, logger: null));
        }
Пример #4
0
        public ActionResult <IEnumerable <Campaign> > GetAll()
        {
            var result = _campaignManager.GetAll();

            if (result.IsInvalid)
            {
                return(new StatusCodeResult(500));
            }

            return(result.Object
                   .Select(entity => CampaignMapper.ToModel(entity))
                   .ToList());
        }
        public void GivenCampaignToCampaignDTOReturn_WhenCreatingACampaignDTOReturnFromCampaign_ThenCampaignDTOReturnIsCreated()
        {
            Campaign campaign = Campaign.CreateNewCampaign(
                "java",
                "vab",
                new DateTime(2018, 06, 21),
                new DateTime(2018, 09, 25));

            var campaignMapper = new CampaignMapper();
            var result         = campaignMapper.CampaignToCampaignDTOReturn(campaign);

            Assert.Equal("java", result.Name);
            Assert.Equal("vab", result.Client);
            Assert.True(result.Status == false);
        }
        /// <summary>
        /// Obtiene una campaña por su id
        /// </summary>
        /// <param name="pId">Id de la campaña</param>
        /// <returns>Campaña con el Id dado</returns>
        public CampaignDTO GetCampaign(int pId)
        {
            IUnitOfWork    iUnitOfWork    = new UnitOfWork(new DigitalSignageDbContext());
            CampaignMapper campaignMapper = new CampaignMapper();

            try
            {
                cLogger.Info("Obteniendo campaña por id");
                return(campaignMapper.SelectorExpression.Compile()(iUnitOfWork.campaignRepository.Get(pId)));
            }
            catch (NullReferenceException)
            {
                throw new IndexOutOfRangeException();
            }
        }
        public void GivenCampaignDTOCreateToCampaignWithActiveCampaign_WhenCreatingACampaignFromCampaignDTO_ThenCampaignIsCreatedWithStatusTrue()
        {
            var CampaignDTOCreate = new CampaignDTO_Create()
            {
                Client    = "VAB",
                Name      = "Java",
                StartDate = new DateTime(2012, 04, 21),
                EndDate   = new DateTime(2030, 06, 21)
            };

            var campaignMapper = new CampaignMapper();
            var result         = campaignMapper.CampaignDTOCreateToCampaign(CampaignDTOCreate);

            Assert.Equal("Java", result.Name);
            Assert.Equal("VAB", result.Client);
            Assert.True(result.Status == true);
        }
Пример #8
0
        private VisitsController SetupController(IEnumerable <Visit> visits = null, StringBuilder stringBuilder = null)
        {
            visits = visits ?? new List <Visit>();

            var visitDataStore = new MockVisitStore(visits.Select(model => VisitMapper.ToEntity(model)).ToList());

            var campaigns      = CampaignSamples.Get().Select(model => CampaignMapper.ToEntity(model)).ToList();
            var campaignStore  = new MockCampaignStore(campaigns);
            var campaignSearch = new SimpleCampaignSearch(campaignStore);
            var stringWriter   = new StringWriter(stringBuilder ?? new StringBuilder());

            var pushNotificationProviderFactory = new PushNotificationProviderFactory(stringWriter);

            var manager = new VisitManager(visitDataStore, campaignSearch, pushNotificationProviderFactory);

            return(new VisitsController(manager, logger: null));
        }
        /// <summary>
        /// Obtiene todas las campañas
        /// </summary>
        /// <returns>Enumerable con todas las campañas</returns>
        public IEnumerable <CampaignDTO> GetAll()
        {
            IUnitOfWork            iUnitOfWork    = new UnitOfWork(new DigitalSignageDbContext());
            IList <CampaignDTO>    campaignAux    = new List <CampaignDTO>();
            CampaignMapper         campaignMapper = new CampaignMapper();
            IEnumerable <Campaign> campaignEnum   = iUnitOfWork.campaignRepository.GetAll();

            cLogger.Info("Obteniendo todas las campañas.");

            //Comvierte a DTO
            IEnumerator e = campaignEnum.GetEnumerator();

            while (e.MoveNext())
            {
                campaignAux.Add((campaignMapper.SelectorExpression.Compile()((Campaign)e.Current)));
            }
            return(campaignAux);
        }
        /// <summary>
        /// Elimina una campaña
        /// </summary>
        /// <param name="pId">Id de la campaña a eliminar</param>
        public void Delete(int pId)
        {
            IUnitOfWork    iUnitOfWork    = new UnitOfWork(new DigitalSignageDbContext());
            CampaignMapper campaignMapper = new CampaignMapper();
            Campaign       oldCampaign    = new Campaign();

            try
            {
                oldCampaign = iUnitOfWork.campaignRepository.Get(pId);
                iUnitOfWork.campaignRepository.Remove(oldCampaign);
                iUnitOfWork.Complete();
                cLogger.Info("Campaña eliminada");
            }
            catch (NullReferenceException)
            {
                throw new IndexOutOfRangeException();
            }
        }
        /******************************************************************/
        /********************************CRUD******************************/
        /******************************************************************/

        /// <summary>
        /// Añade una campaña
        /// </summary>
        /// <param name="pCampaignDTO">Campaña a agregar</param>
        public void Create(CampaignDTO pCampaignDTO)
        {
            IUnitOfWork    iUnitOfWork    = new UnitOfWork(new DigitalSignageDbContext());
            CampaignMapper campaignMapper = new CampaignMapper();
            Campaign       campaign       = new Campaign();

            try
            {
                campaignMapper.MapToModel(pCampaignDTO, campaign);
                iUnitOfWork.campaignRepository.Add(campaign);
                iUnitOfWork.Complete();
                cLogger.Info("Nueva campaña agregada");
            }
            catch (ArgumentException)
            {
                throw new ArgumentException();
            }
        }
Пример #12
0
        public ActionResult PostBatch([FromBody] IEnumerable <Campaign> campaigns)
        {
            var validations       = campaigns.Select(campaign => campaign.Validate()).ToArray();
            var summaryValidation = new CommandNotification(validations);

            if (summaryValidation.IsInvalid)
            {
                return(StatusCode(500, summaryValidation.Notifications));
            }

            var entities = campaigns.Select(model => CampaignMapper.ToEntity(model)).ToList();
            var result   = _campaignManager.Load(entities);

            if (result.IsInvalid)
            {
                return(StatusCode(500, result.Notifications));
            }

            return(Ok());
        }
        public void GivenACreatedCampaignDto_WhenToNewDomain_ThenReturnCampaignObjectWithIdGuidAndStatusActive()
        {
            //given
            var newDTO = new CreateCampaignDto()
            {
                Name = "testCampaign",
                Client = "testClient",
                ClassStartDate = DateTime.Today.AddDays(5),
                StartDate = DateTime.Today.AddDays(5),
                Comment = "testComment"
            };

            var campaignMapper = new CampaignMapper();

            //when
            var newDomain = campaignMapper.ToNewDomain(newDTO);

            //then
            Assert.IsType<Guid>(newDomain.Id);
            Assert.Equal(CampaignStatus.Active, newDomain.Status);
        }
Пример #14
0
 public CampaignsController(ICampaignService campaignService, CampaignMapper campaignMapper)
 {
     _campaignService = campaignService;
     _campaignMapper  = campaignMapper;
 }
 public JobApplicationMapper(CampaignMapper campaignMapper, CandidateMapper candidateMapper)
 {
     _campaignMapper      = campaignMapper;
     _candidateMapper     = candidateMapper;
     _selectionStepMapper = new SelectionStepMapper();
 }