public BenefitViewModel tab_ot_search(employeeModel value) { var data = new BenefitViewModel(); data.message = new messageModel(); try { using (var context = new StandardCanEntities()) { if (String.IsNullOrEmpty(value.user_id)) { throw new Exception("Unauthorized Access"); } var userId = JwtHelper.GetUserIdFromToken(value.user_id); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } var spData_hours = context.sp_mb_emp_ot_hours(userId, value.start_date, value.stop_date, "").ToList(); var spData_quota = context.sp_mb_emp_ot_quota(userId, value.start_date, value.stop_date, "").ToList(); data.quota_list = new List <Benefitline>(); data.hours_list = new List <Benefitline>(); double sumH = 0; foreach (var item in spData_quota) { Benefitline news = new Benefitline(); news.line1 = item.ot_text; news.hours = item.ot_hours; data.quota_list.Add(news); sumH += item.total_minute == null ? 0 : Convert.ToInt32(item.total_minute); } var HH = sumH / 60; var MM = sumH % 60; var totalQ = HH.ToString().Split('.'); var totalQM = MM.ToString().Split('.'); data.quota = totalQ[0] + ":" + totalQM[0]; HH = 0; MM = 0; sumH = 0; foreach (var item in spData_hours) { Benefitline news = new Benefitline(); news.line1 = item.ot_text; news.hours = item.ot_hours; data.hours_list.Add(news); sumH += item.total_minute == null ? 0 : Convert.ToInt32(item.total_minute); } HH = sumH / 60; MM = sumH % 60; var totalH = HH.ToString().Split('.'); var totalHM = MM.ToString().Split('.'); data.hours = totalH[0] + ":" + totalHM[0]; data.message.status = "1"; data.message.message = "Success"; } } catch (Exception ex) { //result.status = "E"; //result.message = ex.Message.ToString(); throw new Exception(ex.Message); } return(data); }
public async Task <BenefitViewModel> GetOTSummaryAsync(string language, DateTime?start_date, DateTime?stop_date) { var data = new BenefitViewModel(); data.message = new messageModel(); try { var userId = JwtHelper.GetUserIdFromToken(HttpContext); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } using (var context = new StandardcanContext()) { var jsonData = JsonConvert.SerializeObject(new { emp_id = userId, lang = language, s_start_date = start_date, s_stop_date = stop_date }); SystemLog systemLog = new SystemLog() { module = "api/Benefit/GetOTSummary", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter s_start_date = new SqlParameter("s_start_date", start_date != null ? start_date.Value.ToString("dd/MM/yyyy") : ""); SqlParameter s_stop_date = new SqlParameter("s_stop_date", stop_date != null ? stop_date.Value.ToString("dd/MM/yyyy") : ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData_hours = context.SpMbEmpOTHoursResult.FromSqlRaw("sp_mb_emp_ot_hours @emp_id, @s_start_date, @s_stop_date, @lang", emp_id, s_start_date, s_stop_date, lang).ToList(); var spData_quota = context.SpMbEmpOTQuotaResult.FromSqlRaw("sp_mb_emp_ot_quota @emp_id, @s_start_date, @s_stop_date, @lang", emp_id, s_start_date, s_stop_date, lang).ToList(); data.quota_list = new List <Benefitline>(); data.hours_list = new List <Benefitline>(); double sumH = 0; foreach (var item in spData_quota) { Benefitline news = new Benefitline(); news.line1 = item.ot_text; news.hours = item.ot_hours; data.quota_list.Add(news); sumH += item.total_minute; } var HH = sumH / 60; var MM = sumH % 60; var totalQ = HH.ToString().Split('.'); var totalQM = MM.ToString().Split('.'); data.quota = totalQ[0] + ":" + totalQM[0]; HH = 0; MM = 0; sumH = 0; foreach (var item in spData_hours) { Benefitline news = new Benefitline(); news.line1 = item.ot_text; news.hours = item.ot_hours; data.hours_list.Add(news); sumH += item.total_minute; } HH = sumH / 60; MM = sumH % 60; var totalH = HH.ToString().Split('.'); var totalHM = MM.ToString().Split('.'); data.hours = totalH[0] + ":" + totalHM[0]; data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }