public async Task <BenefitLoad> GetBenefitsEmployeeAsync(string language) { var data = new BenefitLoad(); 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, }); SystemLog systemLog = new SystemLog() { module = "api/Benefit/GetBenefitsEmployee", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbEmpBenefits.FromSqlRaw("sp_mb_emp_benefits @emp_id, @lang", emp_id, lang).ToList(); data.content = new List <BenefitContent>(); BenefitContent benefitContent = new BenefitContent(); benefitContent.title = "ข้อมูล ณ วันที่ " + DateTime.Now.ToString("dd/MM/yyyy"); benefitContent.chlids = new List <BenefitContentChlids>(); foreach (var item in spData.GroupBy(a => a.title)) { foreach (var z in item) { BenefitContentChlids chlids = new BenefitContentChlids(); chlids.title = z.title; chlids.sum = z.sum; chlids.now = z.now; chlids.used = z.used; chlids.current = z.current; benefitContent.chlids.Add(chlids); } } data.content.Add(benefitContent); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <BenefitMasterLoad> GetBenefitsDepartmentMasterAsync(string language) { var data = new BenefitMasterLoad(); 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, }); SystemLog systemLog = new SystemLog() { module = "api/Benefit/GetBenefitsDepartmentMaster", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spDataEmp = context.SpMbEmpUnder.FromSqlRaw("sp_mb_emp_under @emp_id, @lang", emp_id, lang).ToList(); var spDataLeave = context.SpMbMasterLeave.FromSqlRaw("sp_mb_master_leave @lang", lang).ToList(); data.emps = new List <BenefitEmpsMasterLoad>(); data.status = new List <BenefitStatusMasterLoad>(); foreach (var item in spDataEmp) { BenefitEmpsMasterLoad masterLoad = new BenefitEmpsMasterLoad(); masterLoad.name = item.name; masterLoad.emp_id = item.emp_id; data.emps.Add(masterLoad); } foreach (var item in spDataLeave) { BenefitStatusMasterLoad masterLoad = new BenefitStatusMasterLoad(); masterLoad.name = item.name; masterLoad.sts_id = item.sts_id; data.status.Add(masterLoad); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <NewsListViewModel> GetNewsListAsync(string type, string last_id, string language) { var data = new NewsListViewModel(); 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 { new_type = type, last_id = last_id, emp_id = userId, lang = language }); SystemLog systemLog = new SystemLog() { module = "api/News/GetNewsList", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter new_type = new SqlParameter("new_type", type ?? ""); SqlParameter lastId = new SqlParameter("last_id", last_id ?? ""); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbNewsList.FromSqlRaw("sp_mb_news_list @new_type, @last_id, @emp_id, @lang", new_type, lastId, emp_id, lang).ToList(); data.content = new List <NewscontentViewModel>(); foreach (var item in spData) { NewscontentViewModel news = new NewscontentViewModel(); news.id = item.id; news.url_img = item.url_img; news.title = item.title; news.sub_detail = item.sub_detail; news.time = item.time; news.link_youtube = item.link_youtube; data.content.Add(news); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <CompanyViewModel> GetBenefitsCompanyAsync(string lastId, string language) { var data = new CompanyViewModel(); 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, last_id = lastId, }); SystemLog systemLog = new SystemLog() { module = "api/Company/GetBenefitsCompany", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter last_id = new SqlParameter("last_id", lastId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbBenefits.FromSqlRaw("sp_mb_benefits @emp_id, @lang", emp_id, lang).ToList(); data.content = new List <CompanyContentViewModel>(); foreach (var item in spData) { CompanyContentViewModel news = new CompanyContentViewModel(); news.id = item.id; news.title = item.title; news.detail_line1 = item.detail_line1; news.detail_line2 = item.detail_line2; news.detail_line3 = item.detail_line3; news.detail_line4 = item.detail_line4; news.link_file = item.link_file; data.content.Add(news); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <CalendarScheduleViewModel> GetCalendarScheduleAsync(string language) { var data = new CalendarScheduleViewModel(); 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, }); SystemLog systemLog = new SystemLog() { module = "api/CalendarHoliday/GetCalendarSchedule", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbGetSchedule.FromSqlRaw("sp_mb_get_schedule @emp_id", emp_id).ToList(); //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(); data.calendarschedule_list = new List <CalendarSchedule>(); foreach (var item in spData) { CalendarSchedule calendarHoliday = new CalendarSchedule(); calendarHoliday.startTime = item.startTime; calendarHoliday.endTime = item.endTime; calendarHoliday.title = item.title; calendarHoliday.remark = item.remark; data.calendarschedule_list.Add(calendarHoliday); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <PayrollViewModel> GetPayrollAsync(string language) { var data = new PayrollViewModel(); 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 }); SystemLog systemLog = new SystemLog() { module = "api/Payroll/GetPayroll", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbSalary.FromSqlRaw("sp_mb_salary @emp_id, @lang", emp_id, lang).ToList(); data.content = new List <PayrollContentViewModel>(); foreach (var item in spData) { PayrollContentViewModel payroll = new PayrollContentViewModel(); payroll.title1 = item.title1; payroll.title2 = item.title2; payroll.detail = item.detail; payroll.link_frame = item.link_frame; data.content.Add(payroll); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <InoutEmpRealtimeViewModel> GetInoutEmpRealtimeAsync(string language) { var data = new InoutEmpRealtimeViewModel(); 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 }); SystemLog systemLog = new SystemLog() { module = "api/TimeInOut/GetInoutEmpRealtime", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbEmpUnder.FromSqlRaw("sp_mb_emp_under @emp_id, @lang", emp_id, lang).ToList(); data.emps = new List <InoutEmpRealtimeEmpViewModel>(); foreach (var item in spData) { InoutEmpRealtimeEmpViewModel dataItem = new InoutEmpRealtimeEmpViewModel(); dataItem.name = item.name; dataItem.emp_id = item.emp_id; data.emps.Add(dataItem); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <AboutCompanyViewModel> GetAboutCompanyAsync(string language) { var data = new AboutCompanyViewModel(); 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, }); SystemLog systemLog = new SystemLog() { module = "api/Company/GetAboutCompany", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbDepartContact.FromSqlRaw("sp_mb_depart_contact @emp_id, @lang", emp_id, lang).ToList(); data.content = new List <AboutCompanyContentViewModel>(); foreach (var item in spData) { AboutCompanyContentViewModel news = new AboutCompanyContentViewModel(); news.name = item.name; news.tel = item.tel; data.content.Add(news); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <SummaryTimeFilterViewModel> GetSummaryTimeFilterAsync(string language) { var data = new SummaryTimeFilterViewModel(); 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 { userId = userId, lang = language }); SystemLog systemLog = new SystemLog() { module = "api/TimeInOut/GetSummaryTimeFilter", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); data.years = new List <SummaryTimeFilterYearViewModel>(); data.years.Add(new SummaryTimeFilterYearViewModel { id = DateTime.Now.ToString("yyyy"), name = DateTime.Now.ToString("yyyy") }); data.years.Add(new SummaryTimeFilterYearViewModel { id = DateTime.Now.AddYears(-1).ToString("yyyy"), name = DateTime.Now.AddYears(-1).ToString("yyyy") }); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <ReturnMsgViewModel> NotiSettingAsync(NotiSettingViewModel setting) { ReturnMsgViewModel data = new ReturnMsgViewModel(); data.message = new messageModel(); try { using (var context = new StandardcanContext()) { var userId = JwtHelper.GetUserIdFromToken(HttpContext); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } try { var jsonData = JsonConvert.SerializeObject(new { emp_id = userId, noti_status = setting.notification }); SystemLog systemLog = new SystemLog() { module = "api/Setting/NotiSetting", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter noti_status = new SqlParameter("noti_status", setting.notification ?? ""); SqlParameter lang = new SqlParameter("lang", setting.language ?? ""); await context.Database.ExecuteSqlCommandAsync("sp_mb_update_setting @emp_id, @noti_status", emp_id, noti_status); } catch (Exception ex) { throw new Exception("Noticiation is Error"); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <ReturnMsgViewModel> CheckInTimeAsync(CheckInTimeViewModel dataCheckin) { ReturnMsgViewModel data = new ReturnMsgViewModel(); data.message = new messageModel(); try { var dt = DateTime.Now; 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, qrcode = dataCheckin.qrcode, lang = dataCheckin.language }); SystemLog systemLog = new SystemLog() { module = "api/TimeInOut/CheckInTime", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter qrcode = new SqlParameter("qrcode", dataCheckin.qrcode ?? ""); SqlParameter lang = new SqlParameter("lang", dataCheckin.language ?? ""); //SqlParameter newPass = new SqlParameter("new_pass", newPassEncrypt ?? ""); var spData = context.SpMbMeetingCheckin.FromSqlRaw("sp_mb_meeting_checkin @emp_id, @qrcode, @lang", emp_id, qrcode, lang).ToList(); foreach (var item in spData) { data.message.status = item.status; data.message.msg = item.msg; } } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <ReturnMsgViewModel> UpdateUserAsync(EmpProfileDataViewModel user) { ReturnMsgViewModel data = new ReturnMsgViewModel(); 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, tel = user.tel, email = user.email, line = user.line, lang = user.language }); SystemLog systemLog = new SystemLog() { module = "api/User/UpdateUser", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter tel = new SqlParameter("tel", user.tel ?? ""); SqlParameter email = new SqlParameter("email", user.email ?? ""); SqlParameter line = new SqlParameter("line", user.line ?? ""); SqlParameter lang = new SqlParameter("lang", user.language ?? ""); await context.Database.ExecuteSqlCommandAsync("sp_mb_update_profile @emp_id, @tel, @email, @line, @lang", emp_id, tel, email, line, lang); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
private string CreateToken(string userId, string permission) { var tokenString = ""; DateTime issuedAt = DateTime.UtcNow; DateTime expires = DateTime.UtcNow.AddYears(1); using (var context = new StandardcanContext()) { var empDetail = context.EmpProfile.SingleOrDefault(a => a.EmpId.ToString() == userId); var tokenHandler = new JwtSecurityTokenHandler(); if (empDetail != null) { var claimsIdentity = new ClaimsIdentity(new[] { new Claim("userId", empDetail.EmpId.ToString()), new Claim("userCode", empDetail.EmpCode), new Claim("userName", empDetail.EmpUserName), new Claim("firstName", empDetail.EmpFname), new Claim("lastName", empDetail.EmpLname), new Claim("fullname", empDetail.EmpTitle + empDetail.EmpFname + " " + empDetail.EmpLname), //new Claim("userGroupId", empDetail.EmpGroup.ToString()), //new Claim("userGroupName", context.UserGroup.SingleOrDefault(a =>a.GroupId == empDetail.EmpGroup).GroupName ?? ""), new Claim("userGroup", permission), new Claim("img", ""), }); var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JwtKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = (JwtSecurityToken) tokenHandler.CreateJwtSecurityToken( issuer: _configuration["JwtIssuer"], audience: _configuration["JwtAudience"], subject: claimsIdentity, notBefore: issuedAt, expires: expires, signingCredentials: creds ); tokenString = tokenHandler.WriteToken(token); } else { throw new Exception("The username or password is incorrect"); } } return(tokenString); }
public async Task <ImageSliderViewModel> GetImageSlideAsync() { var data = new ImageSliderViewModel(); 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 }); SystemLog systemLog = new SystemLog() { module = "api/News/GetImageSlide", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); var param = new SqlParameter("emp_id", userId ?? ""); var spData = context.SpMbImageSlide.FromSqlRaw("sp_mb_image_slide @emp_id", param).ToList(); data.img_slider = new List <NewsImageViewModel>(); foreach (var item in spData) { NewsImageViewModel newsImage = new NewsImageViewModel(); newsImage.url_img = item.url_img; newsImage.url_link = item.url_link; data.img_slider.Add(newsImage); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <NewsViewModel> GetInfomationAsync() { var data = new NewsViewModel(); 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 }); SystemLog systemLog = new SystemLog() { module = "api/News/GetInfomation", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); var spData = context.SpMbProfileDefault.FromSqlRaw("sp_mb_profile_default @emp_id", emp_id).ToList(); foreach (var item in spData) { data.notification_count = item.notification_count; data.sc_creadit = item.sc_creadit; data.profile_img = item.profile_img; data.profile_name = item.profile_name; data.profile_depart = item.profile_depart; } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <UserNotiDetail> GetNotiDetailAsync(string noti_id, string language) { var data = new UserNotiDetail(); data.message = new messageModel(); try { var userId = JwtHelper.GetUserIdFromToken(HttpContext); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } using (var context = new StandardcanContext()) { SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter notiId = new SqlParameter("noti_id", noti_id ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spDataDetail = context.SpMbNotimapDetail.FromSqlRaw("sp_mb_notimap_detail @emp_id, @noti_id, @lang", emp_id, notiId, lang).ToList(); var spDataImg = context.SpMbNotimapImage.FromSqlRaw("sp_mb_notimap_image @emp_id, @noti_id, @lang", emp_id, notiId, lang).ToList(); data.img = new List <UserNotiDetailImg>(); foreach (var item in spDataDetail) { data.lat = item.lat; data.lng = item.lng; data.remark = item.remark; } foreach (var item in spDataImg) { UserNotiDetailImg detailImg = new UserNotiDetailImg(); detailImg.url = item.url; data.img.Add(detailImg); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <NotiSettingDataViewModel> GetNotiSettingAsync(string language) { var data = new NotiSettingDataViewModel(); 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 }); SystemLog systemLog = new SystemLog() { module = "api/Setting/GetNotiSetting", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbGetSetting.FromSqlRaw("sp_mb_get_setting @emp_id", emp_id).ToList(); foreach (var item in spData) { data.notification = item.notification; } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task InsertSystemLogAsync(SystemLog systemLog) { try { using (var context = new StandardcanContext()) { InterfaceLog interfaceLog = new InterfaceLog(); interfaceLog.Module = systemLog.module; interfaceLog.UpdateDate = DateTime.Now; interfaceLog.DataLog = systemLog.data_log; await context.InterfaceLog.AddAsync(interfaceLog); await context.SaveChangesAsync(); } } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <ReturnMsgViewModel> UserChangePasswordAsync(ChangePasswordViewModel user) { ReturnMsgViewModel data = new ReturnMsgViewModel(); data.message = new messageModel(); try { var dt = DateTime.Now; var userId = JwtHelper.GetUserIdFromToken(HttpContext); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } using (var context = new StandardcanContext()) { var userDetail = context.EmpProfile.SingleOrDefault(a => a.EmpId.ToString() == userId); if (userDetail == null) { throw new Exception("Data not found"); } var oldPassEncrypt = Cipher.Encrypt(user.old_password, secrectKey); if (oldPassEncrypt != userDetail.EmpPassword) { throw new Exception("Old Password is incorrect"); } var newPassEncrypt = Cipher.Encrypt(user.new_password, secrectKey); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter newPass = new SqlParameter("new_pass", newPassEncrypt ?? ""); await context.Database.ExecuteSqlCommandAsync("sp_mb_update_password @emp_id, @new_pass", emp_id, newPass); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <ReturnMsgViewModel> UserResetPasswordAsync(ResetPasswordViewModel user) { ReturnMsgViewModel data = new ReturnMsgViewModel(); data.message = new messageModel(); try { using (var context = new StandardcanContext()) { var jsonData = JsonConvert.SerializeObject(new { emp_id = user.emp_code, lang = user.language }); SystemLog systemLog = new SystemLog() { module = "api/Authentication/UserResetPassword", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); var newPassEncrypt = Cipher.Encrypt(user.new_pass, secrectKey); SqlParameter emp_code = new SqlParameter("emp_code", user.emp_code ?? ""); SqlParameter new_pass = new SqlParameter("new_pass", newPassEncrypt ?? ""); await context.Database.ExecuteSqlCommandAsync("sp_mb_set_password @emp_code, @new_pass", emp_code, new_pass); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = 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); }
public async Task <MeetingViewModel> GetMeetingAsync(string language) { var data = new MeetingViewModel(); 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, type = "1", }); SystemLog systemLog = new SystemLog() { module = "api/Meeting/GetMeeting", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter typeToday = new SqlParameter("type", "1"); SqlParameter lang = new SqlParameter("lang", language ?? ""); SqlParameter typeYes = new SqlParameter("type", "2"); var spDataToday = context.SpMbMeeting.FromSqlRaw("sp_mb_meeting @emp_id, @type, @lang", emp_id, typeToday, lang).ToList(); jsonData = JsonConvert.SerializeObject(new { emp_id = userId, lang = language, type = "2", }); systemLog = new SystemLog() { module = "api/Meeting/GetMeeting", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); var spDataYes = context.SpMbMeeting.FromSqlRaw("sp_mb_meeting @emp_id, @type, @lang", emp_id, typeYes, lang).ToList(); data.content = new List <MeetingContentViewModel>(); MeetingContentViewModel viewModel = new MeetingContentViewModel(); viewModel.title = "รายการนัดหมายปัจจุบัน"; viewModel.chlids = new List <MeetingChlidsViewModel>(); foreach (var item in spDataToday) { MeetingChlidsViewModel meetingChlids = new MeetingChlidsViewModel(); meetingChlids.title = item.title; meetingChlids.line1 = item.line1; meetingChlids.line2 = item.line2; meetingChlids.line3 = item.line3; meetingChlids.icon = item.icon; viewModel.chlids.Add(meetingChlids); } data.content.Add(viewModel); viewModel = new MeetingContentViewModel(); viewModel.title = "รายการนัดหมายที่ผ่านมา"; viewModel.chlids = new List <MeetingChlidsViewModel>(); foreach (var item in spDataYes) { MeetingChlidsViewModel meetingChlids = new MeetingChlidsViewModel(); meetingChlids.title = item.title; meetingChlids.line1 = item.line1; meetingChlids.line2 = item.line2; meetingChlids.line3 = item.line3; meetingChlids.icon = item.icon; viewModel.chlids.Add(meetingChlids); } data.content.Add(viewModel); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <EmpProfileViewModel> GetProfileAsync(string language) { var EmpProfile = new EmpProfileViewModel(); EmpProfile.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 }); SystemLog systemLog = new SystemLog() { module = "api/User/GetProfile", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); var empDetail = context.EmpProfile.SingleOrDefault(a => a.EmpId.ToString() == userId); if (empDetail != null) { SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbEmpProfile.FromSqlRaw("sp_mb_emp_profile @emp_id, @lang", emp_id, lang).ToList(); foreach (var item in spData) { EmpProfile.url_img = item.url_img; EmpProfile.name = item.name ?? "-"; EmpProfile.lastname = item.lastname ?? "-"; EmpProfile.id = item.id; EmpProfile.tel = item.tel ?? "-"; EmpProfile.email = item.email ?? "-"; EmpProfile.line = item.line ?? "-"; EmpProfile.address = item.address ?? "-"; EmpProfile.dist = item.dist ?? "-"; EmpProfile.prov = item.prov ?? "-"; EmpProfile.country = item.country ?? "-"; EmpProfile.address_code = item.address_code ?? "-"; EmpProfile.outdoor_sts = item.outdoor_sts; } EmpProfile.message.status = "1"; EmpProfile.message.msg = "Success"; } else { EmpProfile.message.status = "2"; EmpProfile.message.msg = "Data not found"; } } } catch (Exception ex) { EmpProfile.message.status = "2"; EmpProfile.message.msg = ex.Message; } return(EmpProfile); }
public async Task <SummaryTimeViewModel> GetSummaryTimeAsync(string language, string type, string year, string month, DateTime?start, DateTime?stop) { var data = new SummaryTimeViewModel(); 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 { userId = userId, lang = language, type = type, year = year, month = month, start = start, stop = stop }); SystemLog systemLog = new SystemLog() { module = "api/TimeInOut/GetSummaryTime", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); var date_from = start != null?start.Value.ToString("dd/MM/yyyy") : ""; var date_to = stop != null?stop.Value.ToString("dd/MM/yyyy") : ""; SqlParameter emp_id = new SqlParameter("v_emp_id", userId ?? ""); SqlParameter v_year = new SqlParameter("v_year", year ?? ""); SqlParameter v_month = new SqlParameter("v_month", month ?? ""); SqlParameter v_start_date = new SqlParameter("v_start_date", date_from); SqlParameter v_stop_date = new SqlParameter("v_stop_date", date_to); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbEmpWorkSummary.FromSqlRaw("sp_mb_emp_work_summary @v_emp_id, @v_year, @v_month, @v_start_date, @v_stop_date", emp_id, v_year, v_month, v_start_date, v_stop_date).ToList(); data.head = new SummaryTimeHeadViewModel(); data.head.line1 = "ปี: " + (year ?? "-"); data.head.line2 = "เดือน " + (month ?? "-"); data.head.line3 = "วันที่ " + date_from + "-" + date_to; data.budget = new SummaryTimeBudgetViewModel(); data.budget.All = spData.Count().ToString(); data.budget.Default = spData.Where(a => a.s_status == "ปกติ").ToList().Count().ToString(); data.budget.Late = spData.Where(a => a.s_status == "สาย").ToList().Count().ToString(); data.budget.Leave = spData.Where(a => a.s_status == "ขาด").ToList().Count().ToString(); data.budget.La = spData.Where(a => a.s_status == "ลา").ToList().Count().ToString(); data.list = new List <SummaryTimeListViewModel>(); foreach (var item in spData) { data.list.Add(new SummaryTimeListViewModel { line1 = "วันที่ " + (item.s_date ?? "-"), line2 = item.s_reason, sts_color = item.s_color, sts_text = item.s_status }); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <TimeInOutViewModel> GetInoutRealtimeAsync(string language) { var data = new TimeInOutViewModel(); 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, time_type = "1", lang = language }); SystemLog systemLog = new SystemLog() { module = "api/TimeInOut/GetInoutRealtime", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter time_typeToday = new SqlParameter("time_type", "1"); SqlParameter time_typeYesterday = new SqlParameter("time_type", "2"); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spDataToday = context.SpMbEmpInoutRealtime.FromSqlRaw("sp_mb_emp_inout_realtime @emp_id, @time_type", emp_id, time_typeToday).ToList(); jsonData = JsonConvert.SerializeObject(new { emp_id = userId, time_type = "2", lang = language }); systemLog = new SystemLog() { module = "api/TimeInOut/GetInoutRealtime", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); var spDataYesterday = context.SpMbEmpInoutRealtime.FromSqlRaw("sp_mb_emp_inout_realtime @emp_id, @time_type", emp_id, time_typeYesterday).ToList(); data.content = new List <TimeInOutContentViewModel>(); TimeInOutContentViewModel today = new TimeInOutContentViewModel(); today.title = "วันนี้"; today.childs = new List <TimeInOutContentchildsViewModel>(); foreach (var item in spDataToday) { TimeInOutContentchildsViewModel timeIn = new TimeInOutContentchildsViewModel(); timeIn.title = item.title; timeIn.detail = item.detail; today.childs.Add(timeIn); } data.content.Add(today); TimeInOutContentViewModel yesterday = new TimeInOutContentViewModel(); yesterday.title = "วันที่ผ่านมา"; yesterday.childs = new List <TimeInOutContentchildsViewModel>(); foreach (var item in spDataYesterday) { TimeInOutContentchildsViewModel timeIn = new TimeInOutContentchildsViewModel(); timeIn.title = item.title; timeIn.detail = item.detail; yesterday.childs.Add(timeIn); } data.content.Add(yesterday); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
//public async Task<ReturnMsgViewModel> CheckinOutdoorAsync(CheckinOutdoorViewModel dataCheckin) //{ // ReturnMsgViewModel data = new ReturnMsgViewModel(); // data.message = new messageModel(); // try // { // var dt = DateTime.Now; // var userId = JwtHelper.GetUserIdFromToken(HttpContext); // if (String.IsNullOrEmpty(userId)) // { // throw new Exception("Unauthorized Access"); // } // using (var context = new StandardcanContext()) // { // var jsonData = JsonConvert.SerializeObject(new // { // TarDate = dt.ToString("dd/MM/yyyy"), // TarTime = dt.ToString("dd/MM/yyyy HH:mm:ss"), // TarType = 2, // EmpId = userId, // MLat = dataCheckin.lat, // MLong = dataCheckin.lng, // Remark = dataCheckin.remark, // Img = dataCheckin.img // }); // SystemLog systemLog = new SystemLog() // { // module = "api/TimeInOut/CheckinOutdoor", // data_log = jsonData // }; // await _systemLogService.InsertSystemLogAsync(systemLog); // TimeAttRealtime timeAttRealtime = new TimeAttRealtime(); // timeAttRealtime.TarDate = dt; // timeAttRealtime.TarTime = dt; // timeAttRealtime.TarType = 2; // timeAttRealtime.EmpId = Convert.ToInt32(userId); // timeAttRealtime.MLat = dataCheckin.lat; // timeAttRealtime.MLong = dataCheckin.lng; // timeAttRealtime.Remark = dataCheckin.remark; // context.TimeAttRealtime.Add(timeAttRealtime); // await context.SaveChangesAsync(); // if (timeAttRealtime.TarId != 0) // { // if (dataCheckin.img != null) // { // foreach (var item in dataCheckin.img) // { // var intIdt = context.TimeAttImage.DefaultIfEmpty().Max(r => r == null ? 1 : r.TariId); // TimeAttImage timeImg = new TimeAttImage(); // timeImg.TarId = timeAttRealtime.TarId; // string[] img = item.base64.Split(','); // var imgBase64 = img.Count() > 1 ? img[1] : img[0]; // byte[] imgbyte = Convert.FromBase64String(imgBase64); // var uniqueFileName = "TimeAtt_" + timeAttRealtime.TarId + "_" + intIdt + ".JPG"; // string filePath = Path.Combine(_environment.ContentRootPath + "\\images\\TimeAttReal\\", uniqueFileName); // var uploads = Path.Combine(_environment.ContentRootPath + "\\images\\TimeAttReal"); // if (!Directory.Exists(uploads)) // { // Directory.CreateDirectory(uploads); // } // using (FileStream fs = new FileStream(filePath, FileMode.Create)) // { // using (BinaryWriter bw = new BinaryWriter(fs)) // { // bw.Write(imgbyte); // fs.Flush(true); // } // } // timeImg.TariImage = uniqueFileName; // timeImg.TariUpdateDate = dt; // context.TimeAttImage.Add(timeImg); // await context.SaveChangesAsync(); // } // } // } // data.message.status = "1"; // data.message.msg = "Success"; // } // } // catch (Exception ex) // { // data.message.status = "2"; // data.message.msg = ex.Message; // } // return data; //} public async Task <ReturnMsgViewModel> CheckinOutdoorAsync(CheckinOutdoorViewModel dataCheckin) { ReturnMsgViewModel data = new ReturnMsgViewModel(); data.message = new messageModel(); try { var dt = DateTime.Now; var userId = JwtHelper.GetUserIdFromToken(HttpContext); if (String.IsNullOrEmpty(userId)) { throw new Exception("Unauthorized Access"); } string stime = dt.ToString("dd/MM/yyyy HH:mm:ss"); using (var context = new StandardcanContext()) { var jsonData = JsonConvert.SerializeObject(new { TarDate = dt.ToString("dd/MM/yyyy"), TarTime = dt.ToString("dd/MM/yyyy HH:mm:ss"), TarType = 2, EmpId = userId, MLat = dataCheckin.lat, MLong = dataCheckin.lng, Remark = dataCheckin.remark, Img = dataCheckin.img }); SystemLog systemLog = new SystemLog() { module = "api/TimeInOut/CheckinOutdoor", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); TimeAttRealtime timeAttRealtime = new TimeAttRealtime(); timeAttRealtime.TarDate = dt; timeAttRealtime.TarTime = dt; timeAttRealtime.TarType = 2; timeAttRealtime.EmpId = Convert.ToInt32(userId); timeAttRealtime.MLat = dataCheckin.lat; timeAttRealtime.MLong = dataCheckin.lng; timeAttRealtime.Remark = dataCheckin.remark; context.TimeAttRealtime.Add(timeAttRealtime); await context.SaveChangesAsync(); if (timeAttRealtime.TarId != 0) { if (dataCheckin.img != null) { foreach (var item in dataCheckin.img) { var intIdt = context.TimeAttImage.DefaultIfEmpty().Max(r => r == null ? 1 : r.TariId); TimeAttImage timeImg = new TimeAttImage(); timeImg.TarId = timeAttRealtime.TarId; string[] img = item.base64.Split(','); var imgBase64 = img.Count() > 1 ? img[1] : img[0]; byte[] imgbyte = Convert.FromBase64String(imgBase64); var uniqueFileName = "TimeAtt_" + timeAttRealtime.TarId + "_" + intIdt + ".JPG"; // string filePath = Path.Combine(_environment.ContentRootPath + "\\images\\TimeAttReal\\", uniqueFileName); //var uploads = Path.Combine(_environment.ContentRootPath + "\\images\\TimeAttReal"); string root = @"D:\SmartCard\API"; string filePath = Path.Combine(root + "\\images\\TimeAttReal\\", uniqueFileName); var uploads = Path.Combine(root + "\\images\\TimeAttReal"); if (!Directory.Exists(uploads)) { Directory.CreateDirectory(uploads); } using (FileStream fs = new FileStream(filePath, FileMode.Create)) { using (BinaryWriter bw = new BinaryWriter(fs)) { bw.Write(imgbyte); fs.Flush(true); } } timeImg.TariImage = uniqueFileName; timeImg.TariUpdateDate = dt; context.TimeAttImage.Add(timeImg); await context.SaveChangesAsync(); } } } data.message.status = "1"; data.message.msg = "ลงเวลาสำเร็จ : " + stime; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <JsonWebToken> UserLogin(string username, string password, string token_noticiation) { var jwt = new JsonWebToken(); jwt.message = new messageModel(); using (var context = new StandardcanContext()) { try { var passEncrypt = Cipher.Encrypt(password, secrectKey); var empDetail = context.EmpProfile.SingleOrDefault(a => a.EmpUserName.ToUpper() == username.ToUpper()); if (empDetail != null) { jwt.Pass_isdefault = empDetail.EmpPassIsdefault.ToString(); } if (empDetail == null) { jwt.message.status = "3"; throw new Exception("The username or password is incorrect"); } else if (empDetail.EmpPassword != passEncrypt) { throw new Exception("The username or password is incorrect"); } var countBoss = context.EmpProfile.Where(a => a.EmpBossId == empDetail.EmpId).ToList().Count(); if (empDetail != null) { if (countBoss > 0) { jwt.Permission = "2"; } else { jwt.Permission = "1"; } var token = CreateToken(empDetail.EmpId.ToString(), jwt.Permission); try { SqlParameter emp_id = new SqlParameter("emp_id", empDetail.EmpId.ToString() ?? ""); SqlParameter mobile_token = new SqlParameter("mobile_token", token_noticiation ?? ""); await context.Database.ExecuteSqlCommandAsync("sp_mb_update_mobile_token @emp_id, @mobile_token", emp_id, mobile_token); } catch (Exception ex) { throw new Exception("Token Noticiation is Error"); } jwt.message.status = "1"; jwt.message.msg = "Success"; jwt.Token_login = token; } else { throw new Exception("The username or password is incorrect"); } } catch (Exception ex) { jwt.message.status = !String.IsNullOrEmpty(jwt.message.status) ? jwt.message.status : "2"; jwt.message.msg = ex.Message; } } return(jwt); }
public async Task <TraningViewModel> GetTraningConditionAsync(string language) { var data = new TraningViewModel(); 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, v_year = "", v_prj_id = "", v_lot_id = "", lang = language }); SystemLog systemLog = new SystemLog() { module = "api/Traning/GetTraningCondition", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); SqlParameter v_year = new SqlParameter("v_year", ""); SqlParameter v_prj_id = new SqlParameter("v_prj_id", ""); SqlParameter v_lot_id = new SqlParameter("v_lot_id", ""); var spDataYear = context.SpMbTrainingYear.FromSqlRaw("sp_mb_training_year @emp_id, @lang", emp_id, lang).ToList(); var spDataProject = context.SpMbTrainingProject.FromSqlRaw("sp_mb_training_project @emp_id, @v_year, @v_prj_id, @lang", emp_id, v_year, v_prj_id, lang).ToList(); var spDataLot = context.SpMbTrainingLot.FromSqlRaw("sp_mb_training_lot @emp_id, @v_prj_id, @v_lot_id, @lang", emp_id, v_prj_id, v_lot_id, lang).ToList(); data.year = new List <TraningYearViewModel>(); data.project = new List <TraningProjectViewModel>(); data.lot = new List <TraningLotViewModel>(); foreach (var item in spDataYear) { TraningYearViewModel traning = new TraningYearViewModel(); traning.year_id = item.year_id; traning.year_text = item.year_id; data.year.Add(traning); } foreach (var item in spDataProject) { TraningProjectViewModel traning = new TraningProjectViewModel(); traning.id = item.id; traning.name = item.name; traning.year_id = item.year_id; data.project.Add(traning); } foreach (var item in spDataLot) { TraningLotViewModel traning = new TraningLotViewModel(); traning.id = item.id; traning.name = item.name; traning.prj_id = item.prj_id; data.lot.Add(traning); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <BenefitLeave> GetBenefitsLeaveAsync(DateTime?start_date, DateTime?stop_date, string empId, string sts_id, string language) { var data = new BenefitLeave(); 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 { v_userid = userId, v_emp_id = empId, v_sts_id = sts_id, v_start_date = start_date, v_stop_date = stop_date, lang = language, emp_id = userId }); SystemLog systemLog = new SystemLog() { module = "api/Benefit/GetBenefitsLeave", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter v_userid = new SqlParameter("v_userid", userId ?? ""); SqlParameter emp_id = new SqlParameter("v_emp_id", empId ?? ""); SqlParameter v_sts_id = new SqlParameter("v_sts_id", sts_id ?? ""); SqlParameter s_start_date = new SqlParameter("v_start_date", start_date != null ? start_date.Value.ToString("dd/MM/yyyy") : ""); SqlParameter s_stop_date = new SqlParameter("v_stop_date", stop_date != null ? stop_date.Value.ToString("dd/MM/yyyy") : ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); var spData = context.SpMbDepartLeave.FromSqlRaw("sp_mb_depart_leave @v_userid, @v_emp_id, @v_start_date, @v_stop_date", v_userid, emp_id, s_start_date, s_stop_date).ToList(); SqlParameter empIdEmp = new SqlParameter("emp_id", userId ?? ""); var spDataEmp = context.SpMbEmpUnder.FromSqlRaw("sp_mb_emp_under @emp_id, @lang", empIdEmp, lang).ToList(); var spDataLeave = context.SpMbMasterLeave.FromSqlRaw("sp_mb_master_leave @lang", lang).ToList(); data.head = new BenefitDepartmentHeadViewModel(); data.head.line1 = "วันที่ :"; data.head.line1 += stop_date != null?stop_date.Value.ToString("dd/MM/yyyy") : ""; data.head.line1 += "-"; data.head.line1 += stop_date != null?stop_date.Value.ToString("dd/MM/yyyy") : ""; data.head.line2 = "พนักงาน :"; if (String.IsNullOrEmpty(empId)) { data.head.line2 += "ทั้งแผนก"; } else if (empId == "-1") { data.head.line2 += "ทั้งแผนก"; } else { data.head.line2 += spDataEmp != null?spDataEmp.SingleOrDefault(a => a.emp_id == empId).name : ""; } data.head.line3 += "สถานะ :"; if (String.IsNullOrEmpty(empId)) { data.head.line3 += "ทั้งหมด"; } else if (empId == "-1") { data.head.line3 += "ทั้งหมด"; } else { data.head.line3 += spDataLeave != null?spDataLeave.SingleOrDefault(a => a.sts_id == sts_id).name : ""; } data.list = new List <BenefitLeaveListViewModel>(); foreach (var item in spData.GroupBy(a => a.title_group)) { BenefitLeaveListViewModel benefit = new BenefitLeaveListViewModel(); benefit.title_group = item.Key.ToString(); benefit.childs = new List <BenefitLeaveChildsViewModel>(); foreach (var z in item) { BenefitLeaveChildsViewModel model = new BenefitLeaveChildsViewModel(); model.title = z.title; model.detail = z.detail; model.appr_status = z.appr_status; model.color = z.color; benefit.childs.Add(model); } data.list.Add(benefit); } data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }
public async Task <TraningDetailViewModel> GetTraningDetailAsync(string year, string project_id, string lot_id, string language) { var data = new TraningDetailViewModel(); 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, v_year = "", v_prj_id = project_id, v_lot_id = lot_id, v_prj_lot = lot_id, lang = language }); SystemLog systemLog = new SystemLog() { module = "api/Traning/GetTraningDetail", data_log = jsonData }; await _systemLogService.InsertSystemLogAsync(systemLog); SqlParameter emp_id = new SqlParameter("emp_id", userId ?? ""); SqlParameter lang = new SqlParameter("lang", language ?? ""); SqlParameter v_year = new SqlParameter("v_year", year ?? ""); SqlParameter v_prj_id = new SqlParameter("v_prj_id", project_id ?? ""); SqlParameter v_prj_lot = new SqlParameter("v_prj_lot", lot_id ?? ""); SqlParameter v_lot_id = new SqlParameter("v_lot_id", lot_id ?? ""); var r_year = new SqlParameter { ParameterName = "r_year", DbType = System.Data.DbType.String, Size = Int32.MaxValue, Direction = System.Data.ParameterDirection.Output }; var r_prj_id = new SqlParameter { ParameterName = "r_prj_id", DbType = System.Data.DbType.Int64, Size = Int32.MaxValue, Direction = System.Data.ParameterDirection.Output }; var r_prj_name = new SqlParameter { ParameterName = "r_prj_name", DbType = System.Data.DbType.String, Size = Int32.MaxValue, Direction = System.Data.ParameterDirection.Output }; var r_lot_id = new SqlParameter { ParameterName = "r_lot_id", DbType = System.Data.DbType.Int64, Size = Int32.MaxValue, Direction = System.Data.ParameterDirection.Output }; var r_lot_name = new SqlParameter { ParameterName = "r_lot_name", DbType = System.Data.DbType.String, Size = Int32.MaxValue, Direction = System.Data.ParameterDirection.Output }; var result = context.Database.ExecuteSqlCommand("sp_mb_training_line @emp_id, @v_year, @v_prj_id, @v_lot_id, @lang, @r_year OUT, @r_prj_id OUT, @r_prj_name OUT, @r_lot_id OUT, @r_lot_name OUT", emp_id, v_year, v_prj_id, v_lot_id, lang, r_year, r_prj_id, r_prj_name, r_lot_id, r_lot_name); var spDataDetail = context.SpMbTrainingDetail.FromSqlRaw("sp_mb_training_detail @emp_id, @v_year, @v_prj_id, @v_prj_lot, @lang", emp_id, v_year, v_prj_id, v_prj_lot, lang).ToList(); var spDataProject = context.SpMbTrainingProject.FromSqlRaw("sp_mb_training_project @emp_id, @v_year, @v_prj_id, @lang", emp_id, v_year, v_prj_id, lang).ToList(); data.line1 = "ปีทีเริ่มโครงการ " + r_year.Value.ToString(); data.line2 = r_prj_name.Value.ToString(); data.line3 = r_lot_name.Value.ToString(); data.list = new List <TraninglistViewModel>(); foreach (var item in spDataDetail) { TraninglistViewModel traning = new TraninglistViewModel(); traning.name = item.name; traning.detail = item.detail; traning.no = item.no; traning.icon_name = item.icon_name; traning.icon_color = item.icon_color; data.list.Add(traning); } data.budget = new List <TraningBudgetViewModel>(); TraningBudgetViewModel traningBudget = new TraningBudgetViewModel(); traningBudget.all = spDataDetail.Count().ToString(); traningBudget.pass = spDataDetail.Where(a => a.status.Equals("1")).Count().ToString(); traningBudget.reject = spDataDetail.Where(a => a.status.Equals("2")).Count().ToString(); traningBudget.wait = spDataDetail.Where(a => a.status.Equals("3")).Count().ToString(); data.budget.Add(traningBudget); data.message.status = "1"; data.message.msg = "Success"; } } catch (Exception ex) { data.message.status = "2"; data.message.msg = ex.Message; } return(data); }