예제 #1
0
        public IActionResult SelectUser()
        {
            ToShowCharByUserViewModel model = new ToShowCharByUserViewModel
            {
                Users = _combosHelper.GetComboUsers()
            };

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> StatisticsByUser(ToShowCharByUserViewModel model)
        {
            UserEntity userId = _userHelper.GetUserByCodeAsync(model.UserCode);
            List <ContactStatistics> statistics = await _dataContext.ContactStatistics
                                                  .FromSql($"SELECT DAY(c.StartDate) AS Day, CONVERT(FLOAT,ROUND(((COUNT(c.CustomerId)*1.0/tab.Total_Contacto)*100),0)) AS PercentContact FROM Calls AS c INNER JOIN Codifications AS cod  ON cod.Id = c.CodificationId INNER JOIN (SELECT DAY(c.StartDate) AS Dia, COUNT(c.CustomerId) AS Total_Contacto FROM Calls AS c WHERE c.UserId = {userId.Id} GROUP BY DAY(c.StartDate)) AS tab ON tab.Dia = DAY(c.StartDate) WHERE cod.ContactType = 0 AND c.UserId = {userId.Id} GROUP BY DAY(c.StartDate),tab.Total_Contacto ORDER BY DAY(c.StartDate) ASC").ToListAsync();

            List <EffectivityStatistics> statistics2 = await _dataContext.EffectivityStatistics
                                                       .FromSql($"SELECT DAY(c.StartDate) AS Day, CONVERT(FLOAT,ROUND(((COUNT(c.CustomerId)*1.0/tab.Total_Contacto)*100),0)) AS PercentEffectivity FROM Calls AS c INNER JOIN Codifications AS cod  ON cod.Id = c.CodificationId INNER JOIN (SELECT DAY(c.StartDate) AS Dia, COUNT(c.CustomerId) AS Total_Contacto FROM Calls AS c WHERE c.UserId = {userId.Id} GROUP BY DAY(c.StartDate)) AS tab ON tab.Dia = DAY(c.StartDate) WHERE cod.EffectivityType = 0 AND c.UserId = {userId.Id} GROUP BY DAY(c.StartDate),tab.Total_Contacto ORDER BY DAY(c.StartDate) ASC").ToListAsync();

            model.ContactStatistics     = statistics;
            model.EffectivityStatistics = statistics2;
            return(View(model));
        }