Пример #1
0
        public static void UpdateBranch()
        {
            var db      = new SaleOnlineDbContext();
            var dbHrm   = new HrmDbContext();
            var dbApb   = new AbpHplDbContext();
            var listPbs = dbApb.HplPhongBans;

            foreach (var pb in listPbs)
            {
                var branch = db.Branches.FirstOrDefault(x => x.BranchCode == pb.MaPhongBan);
                if (branch != null)
                {
                    pb.BranchId   = branch.BranchId;
                    pb.BranchName = branch.BranchName;
                    pb.BranchCode = branch.BranchCode;
                }

                var pbHrm = dbHrm.PhongBans.FirstOrDefault(x => x.MaPhongBan == pb.MaPhongBan);
                if (pbHrm != null)
                {
                    pb.PhongBanId       = pbHrm.PhongBanId;
                    pb.PhongBanParentId = pbHrm.PhongBanChaId;
                    pb.TenPhongBan      = pbHrm.Ten;
                }

                pb.LastSyncToAd = DateTime.Now;
            }
            //SaleOnlineServices
            dbApb.SaveChanges();
            dbApb.Dispose();
            db.Dispose();
        }
Пример #2
0
        public static void AddDisableLogAbp(HplDisableUserLog model)
        {
            var db = new AbpHplDbContext();

            db.HplDisableUserLogs.Add(model);
            db.SaveChanges();
        }
Пример #3
0
        public static void UpdateAllAdUser(List <UserAdInfo> listNhanVien)
        {
            var db = new AbpHplDbContext();

            db.UserAdInfoes.AddRange(listNhanVien);
            db.SaveChanges();
            db.Dispose();
        }
Пример #4
0
        public static void AddDisableLogAbp(List <HplDisableUserLog> listLog)
        {
            var db = new AbpHplDbContext();

            db.HplDisableUserLogs.AddRange(listLog);
            db.SaveChanges();
            db.Dispose();
        }
Пример #5
0
        public static void AddLogNhanVien(HplCreateUserLog nhanVienLog)
        {
            var db = new AbpHplDbContext();

            db.HplCreateUserLogs.Add(nhanVienLog);
            db.SaveChanges();
            db.Dispose();
        }
Пример #6
0
        public static void AddLogNhanVien(List <HplCreateUserLog> listNhanVien)
        {
            var db = new AbpHplDbContext();

            db.HplCreateUserLogs.AddRange(listNhanVien);
            db.SaveChanges();
            db.Dispose();
        }
Пример #7
0
        public static void AddSyncLogAbp(List <HplSyncLog> listLogs)
        {
            AbpHplDbContext db = new AbpHplDbContext();

            db.HplSyncLogs.AddRange(listLogs);
            db.SaveChanges();
            db.Dispose();
        }
Пример #8
0
        public static List <HplCreateUserLog> GetAllLogNhanVien()
        {
            var db = new AbpHplDbContext();
            var dt = DateTime.Now.AddDays(-90);

            return(db.HplCreateUserLogs.Where(x => x.DateCreated.Value >= dt)
                   .OrderByDescending(x => x.DateCreated).ToList());
        }
Пример #9
0
        public static int FlattenAllHplPhongBan()
        {
            var db    = new SaleOnlineDbContext();
            var dbHrm = new HrmDbContext();
            var dbApb = new AbpHplDbContext();

            return(dbApb.FlattenAllHplPhongBan());
        }
Пример #10
0
        public static void AddSyncLogAbp(HplSyncLog model)
        {
            AbpHplDbContext db = new AbpHplDbContext();

            db.HplSyncLogs.Add(model);
            db.SaveChanges();
            db.Dispose();
        }
Пример #11
0
        public static void AddDeleteEmailDoTaoLoi(string email)
        {
            var db   = new AbpHplDbContext();
            var item = new HplDeleteEmailDoTaoLoi()
            {
                Email = email
            };

            db.HplDeleteEmailDoTaoLois.Add(item);
            db.SaveChanges();
            db.Dispose();
        }
Пример #12
0
        public static HplPhongBan GetAbpPhongBanByMaPhongBan(string maPhongBan)
        {
            var db    = new AbpHplDbContext();
            var query = db.HplPhongBans.FirstOrDefault(x => x.MaPhongBan == maPhongBan);

            if (query == null)
            {
                return(null);
            }

            return(query);
        }
Пример #13
0
        public static void ReactiveUserManual(string listNvs)
        {
            var db   = new AbpHplDbContext();
            var item = new CreateDisableUserManual();

            item.ListMaNhanVien = listNvs;
            item.ActionType     = (int)ActionTypeUsers.ReActiveUser;
            item.DateCreated    = DateTime.Now;

            db.CreateDisableUserManuals.Add(item);
            db.SaveChanges();
            db.Dispose();
        }
Пример #14
0
        //public static List<HplDisableUserLog> GetAllNhanVienDisable()
        //{
        //    var db = new AbpHplDbContext();
        //    var dt = DateTime.Now.AddDays(-90);

        //    return db.HplDisableUserLogs.Where(x => x.DateCreated >= dt)
        //        .OrderByDescending(x => x.DateCreated).ToList();
        //}

        public static List <HplDisableUserLog> GetAllLogNhanVienDisable()
        {
            var db = new AbpHplDbContext();

            try
            {
                var listNvs = db.HplDisableUserLogs.Take(50);

                return(listNvs.OrderByDescending(x => x.DateCreated.Value).ToList());
            }
            catch (Exception e)
            {
                db.Dispose();

                return(new List <HplDisableUserLog>());
            }
        }
Пример #15
0
        public static string GetMailListByMaPhongBan(string maPhongBan)
        {
            var db    = new AbpHplDbContext();
            var query = db.HplPhongBans.FirstOrDefault(x => x.MaPhongBan == maPhongBan);

            if (query == null)
            {
                return("");
            }
            if (string.IsNullOrEmpty(query.MailingList))
            {
                return(query.MailingList);
            }

            db.Dispose();

            return("");
        }
Пример #16
0
        /// <summary>
        /// CHẠY MỘT LẦN DO LỖI
        /// </summary>
        /// <returns></returns>
        public static List <HplDisableUserLog> UpdateLogDis()
        {
            var db    = new AbpHplDbContext();
            var dbHrm = new HrmDbContext();

            var listNvs = db.HplDisableUserLogs;

            //foreach (var log in listNvs)
            //{
            //    var pb = dbHrm.PhongBans.FirstOrDefault(x => x.PhongBanId == log.PhongBanId);
            //    if (pb != null) log.MaPhongBan = pb.MaPhongBan;

            //    var pbCap1 = dbHrm.PhongBans.FirstOrDefault(x => x.PhongBanId == log.PhongBanCap1Id);
            //    if (pbCap1 != null) log.MaPhongBanCap1 = pbCap1.MaPhongBan;
            //}

            //db.SaveChanges();

            return(listNvs.OrderByDescending(x => x.DateCreated.Value).ToList());
        }
Пример #17
0
        public static List <HplPhongBan> GetAllDepartment()
        {
            var db = new AbpHplDbContext();

            return(db.HplPhongBans.OrderBy(x => x.TenPhongBan).ToList());
        }
Пример #18
0
        public static List <HplEmailCanXoa31082021> GetAllEmailCanXoa31082021()
        {
            var db = new AbpHplDbContext();

            return(db.HplEmailCanXoa31082021.ToList());
        }
Пример #19
0
        public static List <HplCreateUserLog> GetHplCreateUserLogByDateCreate(DateTime fromDate, DateTime toDate)
        {
            var db = new AbpHplDbContext();

            return(db.HplCreateUserLogs.Where(x => x.DateCreated >= fromDate & x.DateCreated <= toDate).ToList());
        }
Пример #20
0
        public static List <string> GetAllEmailBlackList()
        {
            var db = new AbpHplDbContext();

            return(db.BlackListUsers.Select(x => x.Email).ToList());
        }
Пример #21
0
        /// <summary>
        /// Tạo User trên MDaemon
        /// </summary>
        /// <param name="maNhanVien"></param>
        /// <returns></returns>
        public async Task <ApiResult> CreateUserTheoMaNhanVien(string maNhanVien)
        {
            var             dbAbp     = new AbpHplDbContext();
            ApiResult       result    = new ApiResult();
            CreateUserInput inputMail = new CreateUserInput();

            inputMail.AdminNotes = "Add by Tools. Time: " + DateTime.Now.ToString("dd/MM/yyyy hh:mm tt");
            inputMail.Domain     = MailDomain;
            //MailList { get; set; }
            //Group { get; set; }

            //Lấy thông tin hồ sơ nhân viên theo mã nhân viên
            var listNvs = UserService.GetAllNhanVienTheoMa(maNhanVien);

            switch (listNvs.Count)
            {
            case > 1:
                string ids = "";
                foreach (var model in listNvs)
                {
                    ids += model.NhanVienId + ", ";
                }
                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic,
                                                   "Lỗi: Mã nhân viên này được sử dụng cho nhiều hồ sơ. Có các ID: " + ids));
                return(result);

            case < 1:
                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic, "Không tìm thấy hồ sơ nhân sự."));
                return(result);
            }

            var nhanVien = listNvs.FirstOrDefault();

            if (nhanVien == null)
            {
                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic, "Không tìm thấy hồ sơ nhân sự."));
                return(result);
            }

            string ho  = CommonHelper.ConvertToUnSign(nhanVien.Ho.Trim().ToLower());
            string ten = CommonHelper.ConvertToUnSign(nhanVien.Ten.Trim().ToLower());

            inputMail.FullName  = CommonHelper.ConvertToUnSign(nhanVien.Ho + " " + nhanVien.Ten);
            inputMail.FirstName = ten;
            inputMail.LastName  = ho;

            //Tạo username dựa trên Họ Và Tên nhân sự
            var hoList = CommonHelper.ConvertToUnSign(ho
                                                      .Replace(" ", ",")
                                                      .Replace(",,", ","))
                         .Split(",");
            string newHo = "";

            foreach (var s in hoList)
            {
                newHo += s.Substring(0, 1);
            }

            string userNameGenerated = ten + newHo.ToLower();

            //TẠO LẠI MẬT KHẨU MẶC ĐỊNH
            string dienThoai = "";

            try
            {
                if (nhanVien.DienThoai != null && nhanVien.DienThoai.Trim().Length >= 9)
                {
                    dienThoai = nhanVien.DienThoai.Trim();
                    PwDefault = "Hpl@" + dienThoai.Substring(dienThoai.Length - 3, 3);
                }
            }
            catch (Exception e)
            {
                Log.Error("Số điện thoại lỗi " + e.Message);
            }

            //Get user trên MDaemon
            //inputMail.Username = MdaemonXmlApi.GetNewUserFromMdaemon(userNameGenerated);
            //Lấy AD user làm gốc
            inputMail.Username = _passwordChangeProvider.GetUserNewUserFormAd(userNameGenerated);
            inputMail.Password = PwDefault;

            //Xác định phòng, ban cấp 1 của Hồ sơ nhân sự dựa vào Mã Nhân viên
            PhongBan phongBan = UserService.GetPhongBanCap1CuaNhanVien(maNhanVien);

            if (phongBan == null)
            {
                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic, "Mã nhân sự này không xác định được hồ sơ nhân sự."));
                return(result);
            }
            ;
            //Xác định mail group cho nhân sự này
            HplPhongBan?hplPhong = dbAbp.HplPhongBans.FirstOrDefault(x => x.PhongBanId == nhanVien.PhongBanId);

            if (hplPhong == null)
            {
                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic, "Trong cài đặt mapping phòng ban, không xác định được Phòng ban tương ứng. Mã nhân viên: " + maNhanVien));
                return(result);
            }

            inputMail.Group    = hplPhong.MaPhongBan;
            inputMail.MailList = hplPhong.MailingList;

            //Check server AD
            //TODO

            //Tạo email trên MDaemon
            try
            {
                result.Payload = await MdaemonXmlApi.CreateUser(inputMail);

                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic, "Successful"));
            }
            catch (Exception e)
            {
                result.Errors.Add(new ApiErrorItem(ApiErrorCode.Generic, "Error: " + e.Message + ". Lưu ý: Kiểm tra lại Mail nhóm đã có trên MDaemon chưa?"));
            }

            return(result);
        }