Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
        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);
        }
Ejemplo n.º 17
0
        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);
        }
Ejemplo n.º 18
0
        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);
            }
        }
Ejemplo n.º 19
0
        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);
        }
Ejemplo n.º 20
0
        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);
        }
Ejemplo n.º 21
0
        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);
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
0
        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);
        }
Ejemplo n.º 24
0
        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);
        }
Ejemplo n.º 25
0
        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);
        }
Ejemplo n.º 26
0
        //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);
        }
Ejemplo n.º 27
0
        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);
        }
Ejemplo n.º 28
0
        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);
        }
Ejemplo n.º 29
0
        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);
        }
Ejemplo n.º 30
0
        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);
        }