Пример #1
0
        int ICrudService <Campaign> .Create(Campaign pEntity)
        {
            var lSchedules = pEntity.Schedules.ToList();

            pEntity.RemoveAllSchedules();

            iRepo.Add(pEntity);

            foreach (var sche in lSchedules)
            {
                if (sche.Id == 0)
                {
                    iSchServ.Create(sche);
                }
                else if (sche.Id > 0)
                {
                    iSchServ.Update(sche);
                }
                else
                {
                }
                pEntity.AddSchedule(iSchChecker, sche);
            }

            return(pEntity.Id);
        }
Пример #2
0
        public void ActiveForDate_IsActive()
        {
            Campaign lCampaign = new Campaign()
            {
                Name = "Venta de cactus", Description = "Publicidad para la venta de cactus para el vivero XX"
            };

            Schedule lInterval = new Schedule()
            {
                Name = "Miércoles y Jueves de la primera quincena de febrero", ActiveUntil = new DateTime(2016, 2, 15), ActiveFrom = new DateTime(2016, 2, 1)
            };

            Day lDay1 = new Day()
            {
                Id = 4, Value = Days.Miercoles
            };
            Day lDay2 = new Day()
            {
                Id = 5, Value = Days.Jueves
            };

            lInterval.AddDay(lDay1);
            lInterval.AddDay(lDay2);

            TimeSpan time1 = new TimeSpan(18, 0, 0);
            TimeSpan time2 = new TimeSpan(21, 0, 0);

            ScheduleEntry lTimeInterval = new ScheduleEntry()
            {
                End = time2, Start = time1
            };

            lInterval.AddTimeInterval(lTimeInterval);

            lCampaign.AddSchedule(DomainServiceLocator.Resolve <IScheduleChecker>(), lInterval);

            DateTime lDate = new DateTime(2016, 2, 3, 19, 0, 0);

            bool lResult = lCampaign.IsActiveAt(DomainServiceLocator.Resolve <IScheduleChecker>(), lDate);

            //  Assert.IsTrue(lResult);



            /*    var serv1 = DomainServiceLocator.Resolve<IScheduleChecker>();
             *  var serv2 = DomainServiceLocator.Resolve<IScheduleChecker>();
             *  var serv3 = BusinessServiceLocator.Resolve<>();
             *  var serv4 = BusinessServiceLocator.Resolve<DateIntervalService>();
             *
             *
             *
             *  Assert.AreSame(serv1, serv2);
             *  Assert.AreNotSame(serv3, serv4);*/
        }
        private void SeedCampaigns(DigitalSignageContext pContext)
        {
            IList <Schedule> lDateIntervalList = pContext.DateIntervals.ToList();

            Campaign lCampaign1 = new Campaign()
            {
                Name        = "Publicidad Samsung S7 (ver 47283289)",
                Description = "Una mas de las muchas campa;as de lagsung"
            };

            var query = from interval in lDateIntervalList
                        where interval.ActiveDays.Count() >= 4
                        select interval;

            foreach (var interval in query)
            {
                lCampaign1.AddSchedule(DomainServiceLocator.Resolve <IScheduleChecker>(), interval);
            }
            ;


            Campaign lCampaign2 = new Campaign()
            {
                Name        = "Publicidad Apple iPhone 5se",
                Description = "Primera publicidad de Apple en Argentina,"
                              + " para el nuevo celular que no va a dar resultados"
            };

            query = from interval in lDateIntervalList
                    where interval.ActiveFrom <= new DateTime(2016, 02, 01)
                    select interval;

            foreach (var interval in query)
            {
                lCampaign2.AddSchedule(DomainServiceLocator.Resolve <IScheduleChecker>(), interval);
            }


            pContext.Set <Campaign>().Add(lCampaign1);
            pContext.Set <Campaign>().Add(lCampaign2);
            //  pContext.Campaigns.Add(lCampaign2);

            pContext.SaveChanges();
        }