Exemple #1
0
        public CampaignTaskDetailViewModel GeCampaignTaskDetailsByMerchant(Guid idCampaign, Guid idMerchant, Guid idAccount)
        {
#if DEBUG
            var myWatch = new Stopwatch();
            myWatch.Start();
#endif
            var statusTask           = _statusTaskDao.GetStatusTaskByName(CTask.StatusImplemented);
            var implementedTaskCount = _taskCampaignDao.GetTaskCountByStatusAndMerchant(idCampaign, statusTask.Id, idMerchant, idAccount);

            statusTask = _statusTaskDao.GetStatusTaskByName(CTask.StatusNotImplemented);
            var notImplementedTaskCount = _taskCampaignDao.GetTaskCountByStatusAndMerchant(idCampaign, statusTask.Id, idMerchant, idAccount);

            statusTask = _statusTaskDao.GetStatusTaskByName(CTask.StatusPending);
            var pendingTaskCount = _taskCampaignDao.GetTaskCountByStatusAndMerchant(idCampaign, statusTask.Id, idMerchant, idAccount);

            statusTask = _statusTaskDao.GetStatusTaskByName(CTask.StatusStarted);
            var startedTaskCount = _taskCampaignDao.GetTaskCountByStatusAndMerchant(idCampaign, statusTask.Id, idMerchant, idAccount);

            var campaign = _campaignDao.GetOne(idCampaign, idAccount);

            TimeSpan ts = campaign.EndDate - DateTime.Now;


            var itemResult = new CampaignTaskDetailViewModel()
            {
                CountImplementedTasks    = implementedTaskCount,
                CountNotImplementedTasks = notImplementedTaskCount,
                CountPendingTasks        = pendingTaskCount,
                CountStartedTasks        = startedTaskCount,
                RemainingDays            = ts.Days,
                CountTotalTasks          = implementedTaskCount +
                                           notImplementedTaskCount +
                                           pendingTaskCount +
                                           startedTaskCount
            };

#if DEBUG
            myWatch.Stop();
            Debugger.Log(0, "Campañas", $"ms: {myWatch.ElapsedMilliseconds}");
#endif

            return(itemResult);
        }
Exemple #2
0
        public CampaignTaskDetailViewModel GetCampaignTaskDetails(Guid idCampaign, Guid idAccount)
        {
            var campaign = _campaignDao.GetOne(idCampaign, idAccount);

            int numberNotImplementedTasks;
            int numberStartedTasks;
            int numberPendingTasks;
            int numberImplementedTasks;
            var totalTasks = GetCampaignStatistics(idAccount, campaign, out numberNotImplementedTasks, out numberStartedTasks, out numberPendingTasks, out numberImplementedTasks);

            var ts = campaign.EndDate - DateTime.Now;

            var itemResult = new CampaignTaskDetailViewModel()
            {
                CountImplementedTasks    = numberImplementedTasks,
                CountNotImplementedTasks = numberNotImplementedTasks,
                CountPendingTasks        = numberPendingTasks,
                CountStartedTasks        = numberStartedTasks,
                RemainingDays            = ts.Days,
                CountTotalTasks          = totalTasks
            };

            return(itemResult);
        }
        public static DashBoardViewModel FromCampaign(DashBoardViewModel model, Campaign campaign, CampaignTaskDetailViewModel campaignDetails)
        {
            var totalTasks = 0;

            model.IdCampaign               = campaign.Id.ToString();
            model.Name                     = campaign.Name;
            model.CountImplementedTasks    = campaignDetails.CountImplementedTasks;
            model.CountNotImplementedTasks = campaignDetails.CountNotImplementedTasks;
            model.CountPendingTasks        = campaignDetails.CountPendingTasks;
            model.CountStartedTasks        = campaignDetails.CountStartedTasks;
            model.RemainingDays            = campaignDetails.RemainingDays;

            totalTasks = model.CountImplementedTasks + model.CountNotImplementedTasks + model.CountPendingTasks +
                         model.CountStartedTasks;

            model.PercentImplementedTasks    = Math.Ceiling((double)((campaignDetails.CountImplementedTasks * 100) / totalTasks)) + "%";
            model.PercentNotImplementedTasks = Math.Ceiling((double)((campaignDetails.CountNotImplementedTasks * 100) / totalTasks)) + "%";
            model.PercentPendingTasks        = Math.Ceiling((double)((campaignDetails.CountPendingTasks * 100) / totalTasks)) + "%";

            //model.PercentStartedTasks = Math.Ceiling((double)((campaignDetails.CountStartedTasks * 100) / totalTasks)) + "%";

            model.PercentStartedTasks = (100 -
                                         Math.Ceiling(
                                             (double)((campaignDetails.CountImplementedTasks * 100) / totalTasks)) -
                                         Math.Ceiling(
                                             (double)((campaignDetails.CountNotImplementedTasks * 100) / totalTasks)) -
                                         Math.Ceiling((double)((campaignDetails.CountPendingTasks * 100) / totalTasks))) + "%";

            model.StartDate = campaign.StartDate;
            model.EndDate   = campaign.EndDate;

            return(model);
        }