示例#1
0
        public async Task <IEnumerable <dynamic> > GetFaultReportByParam(DashboardReportViewModel drvm)
        {
            string sql = "";
            string sqlGroupByClause = " Group By ClientSiteId,ClientName,FaultCode Order by Faultcount Desc";
            string sqlWhereClause   = " where ClientSiteId =" + drvm.ClientSiteId;

            if (drvm != null)
            {
                if ((drvm.ChartType == "pie" || drvm.ChartType == "bar") && drvm.WidgetCode == "WGT01")
                {
                    sql = "select top " + drvm.DataLimit + " ClientSiteId,ClientName,FaultCode,Count(*)as FaultCount from FaultReport ";
                }
                if (drvm.PlantName != null && drvm.PlantName != "ALL")
                {
                    string tempWhereClause = " and PlantName = '" + drvm.PlantName + "'";
                    sqlWhereClause = sqlWhereClause + tempWhereClause;
                }
                if (drvm.ChartType == "grid")
                {
                    sql = "select top " + drvm.DataLimit + " ClientSiteId,ClientName,PlantName,AssetName,FaultCode,Count(*) as FaultCount from FaultReport ";
                    sqlGroupByClause = " Group By ClientSiteId,ClientName,PlantName,AssetName,FaultCode Order by Faultcount Desc ";
                }
                if (drvm.ChartType == "viewmore")
                {
                    sql = "select ClientSiteId,ClientName,PlantName,MachineName,AssetName,FaultCode as FaultCount from FaultReport where ClientSiteId = " + drvm.ClientSiteId;
                }
                if (sql == "")
                {
                    throw new CustomException("Unable to Load Data, Please Contact Support!!!", "Error", true, "Unable to prepare Query.");
                }
            }
            else
            {
                throw new CustomException("Unable to Load Data, Please Contact Support!!!", "Error", true, "Unable to prepare Query.");
            }


            using (var conn = util.MasterCon())
            {
                try
                {
                    return(await(conn.QueryAsync <dynamic>(sql + sqlWhereClause + sqlGroupByClause)));
                }
                catch (Exception ex)
                {
                    throw new CustomException("Unable to Load Data, Please Contact Support!!!", "Error", true, ex);
                }
            }
        }
示例#2
0
        public DashboardReportViewModel GetDashboardReport()
        {
            var result = new DashboardReportViewModel();
            var mcqs   = _unitOfWork.Repository <Mcq>().Where(x => !x.IsDeleted.Value);

            result.Mcqs = mcqs.Count();
            var users = _unitOfWork.Repository <User>().Where(x => !x.IsDeleted.Value);

            result.Users = users.Count();
            var attemps = _unitOfWork.Repository <UserTest>();

            result.Attemps = attemps.Count();
            var avarage = attemps.Select(x => x.Point);

            result.AveragePoint = (string.Format("{0:0.00}", avarage.Sum(x => x.Value) / avarage.Count()).ToString());
            return(result);
        }
 public async Task <IActionResult> GetFaultCount([FromBody] DashboardReportViewModel drvm)
 {
     try
     {
         CurrentUser cUser = new CurrentUser(HttpContext, _configuration);
         return(Ok(await dRepo.GetFaultReportByParam(drvm)));
     }
     catch (CustomException cex)
     {
         var responseObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString());
         return(StatusCode(StatusCodes.Status500InternalServerError, responseObj));
     }
     catch (Exception ex)
     {
         return(Ok(new EmaintenanceMessage(ex.Message)));
     }
 }