Example #1
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);
        }
Example #2
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);
        }
Example #3
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);
        }
Example #4
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);
        }
Example #5
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);
        }
Example #6
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);
        }