示例#1
0
        public IHttpActionResult GetAllEmployesReport(int?EmpId, int?ClientId, int?DoctorId, string JobWorkLevel, DateTime?fromdate, DateTime?todate, int?page, int?count, string sortCol, string sortDir)
        {
            try
            {
                using (MaxDbEntities db = new MaxDbEntities())
                {
                    var MtDirect = 0;
                    var MT       = 0;
                    var AQA      = 0;
                    var QA       = 0;

                    //TotalCharacterCountDetails totalCharacterCount = new TotalCharacterCountDetails();

                    var empReport = db.MaxEmpReport(EmpId, ClientId, DoctorId, JobWorkLevel, fromdate, todate, page, count, sortCol, sortDir).ToList();

                    foreach (var job in empReport)
                    {
                        switch (job.JobWorkLevel)
                        {
                        case "MT - Direct":
                            MtDirect += Convert.ToInt32(job.TotalCharacters);
                            break;

                        case "MT":
                            MT += Convert.ToInt32(job.TotalCharacters);
                            break;

                        case "AQA":
                            AQA += Convert.ToInt32(job.TotalCharacters);
                            break;

                        case "QA":
                            QA += Convert.ToInt32(job.TotalCharacters);
                            break;
                        }
                    }
                    int totalCount = 0;
                    if (empReport.Count > 0)
                    {
                        totalCount = (int)empReport.FirstOrDefault().TotalCount;
                    }
                    //totalCharacterCount.TotalMtDirect = MtDirect;
                    //totalCharacterCount.TotalMt = MT;
                    //totalCharacterCount.TotalAQA = AQA;
                    //totalCharacterCount.TotalQA = QA;
                    return(Content(HttpStatusCode.OK, new { empReport, totalCount }));
                }
            }
            catch (Exception ex)
            {
                new Error().logAPIError(System.Reflection.MethodBase.GetCurrentMethod().Name, ex.ToString(), ex.StackTrace);
                return(Content(HttpStatusCode.InternalServerError, "An error occoured, please try again!"));
            }
        }