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); }
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); }