public IHttpActionResult Get(int id)
        {
            DTO_CUS_HRM_STAFF_NhanSu tbl_CUS_HRM_STAFF_NhanSu = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, id, true);

            if (tbl_CUS_HRM_STAFF_NhanSu == null)
            {
                return(NotFound());
            }

            return(Ok(tbl_CUS_HRM_STAFF_NhanSu));
        }
Ejemplo n.º 2
0
        public void AddListData(ExcelWorksheet ws)
        {
            var phuongTienList = BS_CUS_VANTAI_CONF_PhuongTien.get_CUS_VANTAI_CONF_PhuongTien(db, PartnerID, new Dictionary <string, string>());
            var nhanSuList     = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, new Dictionary <string, string>());
            Dictionary <string, string> queryStrings = new Dictionary <string, string>();
            //queryStrings.Add("CodeTinhTrangLamViec", "\"PT1\", \"PT2\"");

            var lenhLamViecList = BS_CUS_VANTAI_WO_LenhLamViec.get_CUS_VANTAI_WO_LenhLamViec(db, PartnerID, queryStrings, true);
            //A.Xe
            //B.Tài xế
            //C.Phụ xe
            //D.Nội dung làm việc

            int rowid = 1;

            foreach (var item in phuongTienList)
            {
                rowid++;
                ws.Cells["A" + rowid].Value = item.Code + " [" + item.ID + "]";
            }

            rowid = 1;
            foreach (var item in nhanSuList)
            {
                if (item.IDChucDanh == 5 || item.IDChucDanh == 8 || item.IDChucDanh == 10 || item.IDChucDanh == 12)
                {
                    rowid++;
                    ws.Cells["B" + rowid].Value = item.TenDayDu + " [" + item.ID + "]";
                }
            }

            rowid = 1;
            foreach (var item in nhanSuList)
            {
                if (item.IDChucDanh == 6 || item.IDChucDanh == 9 || item.IDChucDanh == 11 || item.IDChucDanh == 14)
                {
                    rowid++;
                    ws.Cells["C" + rowid].Value = item.TenDayDu + " [" + item.ID + "]";
                }
            }


            rowid = 1;
            foreach (var item in lenhLamViecList)
            {
                rowid++;
                ws.Cells["D" + rowid].Value = item.Name + " [" + item.ID + "]";
            }
        }
        public IHttpActionResult Post(DTO_CUS_HRM_STAFF_NhanSu tbl_CUS_HRM_STAFF_NhanSu)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            DTO_CUS_HRM_STAFF_NhanSu result = BS_CUS_HRM_STAFF_NhanSu.post_CUS_HRM_STAFF_NhanSu(db, PartnerID, tbl_CUS_HRM_STAFF_NhanSu, Username);


            if (result != null)
            {
                return(CreatedAtRoute("get_CUS_HRM_STAFF_NhanSu", new { id = result.ID }, result));
            }
            return(Conflict());
        }
        public IHttpActionResult Put(int id, DTO_CUS_HRM_STAFF_NhanSu tbl_CUS_HRM_STAFF_NhanSu)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tbl_CUS_HRM_STAFF_NhanSu.ID || PartnerID != tbl_CUS_HRM_STAFF_NhanSu.IDPartner)
            {
                return(BadRequest());
            }

            string checkData = BS_CUS_HRM_STAFF_NhanSu.check_CUS_HRM_STAFF_NhanSu(db, id, tbl_CUS_HRM_STAFF_NhanSu);

            if (!string.IsNullOrEmpty(checkData))
            {
                return(BadRequest(checkData));
            }

            bool   isChangeCode = false;
            string oldCode      = "";
            bool   result       = BS_CUS_HRM_STAFF_NhanSu.put_CUS_HRM_STAFF_NhanSu_Custom(db, PartnerID, id, tbl_CUS_HRM_STAFF_NhanSu, Username, out isChangeCode, out oldCode);

            if (result)
            {
                BS_HelperReference.STAFF_Info_Update(db, id);

                // Đổi code => đổi avt
                if (isChangeCode)
                {
                    string mapPath          = System.Web.HttpContext.Current.Server.MapPath("~/");
                    string uploadPath       = "Uploads/HRM/Staffs/Avatars/" + oldCode + ".jpg";
                    string strDirectoryPath = mapPath + uploadPath;
                    if (System.IO.File.Exists(strDirectoryPath))
                    {
                        string strFilePath = mapPath + "Uploads/HRM/Staffs/Avatars/" + tbl_CUS_HRM_STAFF_NhanSu.Code + ".jpg";
                        System.IO.File.Move(strDirectoryPath, strFilePath);
                    }
                }

                return(StatusCode(HttpStatusCode.NoContent));
            }
            else
            {
                return(NotFound());
            }
        }
        public IHttpActionResult Delete(int id)
        {
            bool check = BS_CUS_HRM_STAFF_NhanSu.check_CUS_HRM_STAFF_NhanSu_Exists(db, id);

            if (!check)
            {
                return(NotFound());
            }

            bool result = BS_CUS_HRM_STAFF_NhanSu.delete_CUS_HRM_STAFF_NhanSu(db, id, Username);

            if (result)
            {
                return(StatusCode(HttpStatusCode.NoContent));
            }
            return(Conflict());
        }
Ejemplo n.º 6
0
        public HttpResponseMessage Get_NhanSu()
        {
            string fileurl = "";
            var    package = GetTemplateWorkbook("DS-NhanSu.xlsx", "DS-NhanSu.xlsx", out fileurl);

            ExcelWorkbook workBook = package.Workbook;

            if (workBook != null)
            {
                var ws   = workBook.Worksheets.FirstOrDefault(); //Worksheets["DS"];
                var data = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, QueryStrings);

                int rowid = 3;
                foreach (var item in data)
                {
                    ws.Cells["B" + rowid].Value = item.Sort; //STT
                    ws.Cells["C" + rowid].Value = item.Code;
                    ws.Cells["D" + rowid].Value = item.TenDayDu;

                    if (item.IDChucDanh.HasValue)
                    {
                        var chucDanh = BS_CUS_HRM_LIST_ChucDanh.get_CUS_HRM_LIST_ChucDanh(db, PartnerID, item.IDChucDanh.Value);
                        if (chucDanh != null)
                        {
                            ws.Cells["E" + rowid].Value = chucDanh.Code;
                            ws.Cells["F" + rowid].Value = chucDanh.Name;
                        }
                    }

                    ws.Cells["G" + rowid].Value = item.SoXe;
                    ws.Cells["H" + rowid].Value = item.NgaySinh;
                    ws.Cells["I" + rowid].Value = item.NguyenQuan;
                    ws.Cells["J" + rowid].Value = item.ThuongTru;
                    ws.Cells["K" + rowid].Value = item.CMND;
                    ws.Cells["L" + rowid].Value = item.NgayCap;
                    ws.Cells["M" + rowid].Value = item.IsDisabled;

                    rowid++;
                }

                package.Save();
            }

            return(downloadFile(fileurl));
        }
Ejemplo n.º 7
0
        public HttpResponseMessage Get_NhanSu()
        {
            string fileurl = "";
            var    package = GetTemplateWorkbook("DS-NhanSu.xlsx", "DS-NhanSu.xlsx", out fileurl);

            ExcelWorkbook workBook = package.Workbook;

            if (workBook != null)
            {
                var ws   = workBook.Worksheets.FirstOrDefault(); //Worksheets["DS"];
                var data = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, QueryStrings);

                int rowid = 3;
                foreach (var item in data)
                {
                    ws.Cells["B" + rowid].Value = item.Sort; //STT
                    ws.Cells["C" + rowid].Value = item.Code;
                    ws.Cells["D" + rowid].Value = item.Name;

                    ws.Cells["E" + rowid].Value = item.SoDienThoai;
                    ws.Cells["F" + rowid].Value = item.Email;
                    ws.Cells["G" + rowid].Value = "";
                    //ws.Cells["H" + rowid].Value = item.IDRole;

                    if (item.IDRole.HasValue)
                    {
                        var ite = BS_CUS_SYS_Role.get_CUS_SYS_Role(db, PartnerID, item.IDRole.Value);
                        if (ite != null)
                        {
                            ws.Cells["H" + rowid].Value = ite.Code;
                        }
                    }

                    rowid++;
                }

                package.Save();
            }

            return(downloadFile(fileurl));
        }
        public IQueryable <DTO_CUS_HRM_STAFF_NhanSu> Get()
        {
            var result = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, QueryStrings, false).ToList();

            if (result != null)
            {
                var context = new ApplicationDbContext();

                foreach (var item in result)
                {
                    if (!string.IsNullOrEmpty(item.Email))
                    {
                        var ac = context.Users.FirstOrDefault(d => d.Email == item.Email);
                        if (ac != null)
                        {
                            item.IsCreatedAccount = true;
                            item.IsLockedOut      = ac.LockoutEnabled;
                            item.IsHostAccount    = ac.Roles.Any(d => d.RoleId == "HOST");
                        }
                    }
                }
            }
            return(result.AsQueryable());
        }
Ejemplo n.º 9
0
        public HttpResponseMessage Post_NhanSu()
        {
            string        fileurl  = "";
            var           package  = SaveImportedFile(out fileurl);
            ExcelWorkbook workBook = package.Workbook;

            if (workBook != null)
            {
                ExcelWorksheet ws        = workBook.Worksheets.FirstOrDefault();
                bool           haveError = false;


                int SheetColumnsCount, SheetRowCount = 0;

                SheetColumnsCount = ws.Dimension.End.Column;    // Find End Column
                SheetRowCount     = ws.Dimension.End.Row;       // Find End Row

                for (int rowid = 3; rowid <= SheetRowCount; rowid++)
                {
                    #region item
                    List <string> row = new List <string>();

                    for (int i = 2; i <= SheetColumnsCount; i++)
                    {
                        row.Add(ws.Cells[rowid, i].Value == null ? "" : ws.Cells[rowid, i].Text);
                    }

                    if (row[1] == "") //check code null
                    {
                        continue;
                    }


                    string code   = row[1];
                    var    dbitem = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, code);
                    if (dbitem == null)
                    {
                        dbitem = new DTO_CUS_HRM_STAFF_NhanSu();
                    }

                    if (int.TryParse(row[0], out int sort))
                    {
                        dbitem.Sort = sort;
                    }

                    dbitem.Code     = row[1];
                    dbitem.TenDayDu = row[2];

                    if (!string.IsNullOrEmpty(row[3]))
                    {
                        var chucDanh = BS_CUS_HRM_LIST_ChucDanh.get_CUS_HRM_LIST_ChucDanh(db, PartnerID, row[3]);
                        if (chucDanh != null)
                        {
                            dbitem.IDChucDanh = chucDanh.ID;
                        }
                        else
                        {
                        }
                    }

                    dbitem.SoXe = row[5];

                    dbitem.NgaySinh   = row[6];
                    dbitem.NguyenQuan = row[7];
                    dbitem.ThuongTru  = row[8];

                    dbitem.CMND    = row[9];
                    dbitem.NgayCap = row[10];

                    if (row[11] == "1")
                    {
                        dbitem.IsDisabled = true;
                    }



                    //STT Mã nhân viên    Họ và tên Mã công việc    Công việc   5 Xe Ngày sinh 7Nguyên quán Địa chỉ thường trú CMND    Ngày cấp    Đã nghỉ việc



                    try
                    {
                        if (dbitem.ID != 0)
                        {
                            BS_CUS_HRM_STAFF_NhanSu.put_CUS_HRM_STAFF_NhanSu(db, PartnerID, dbitem.ID, dbitem, Username);
                        }
                        else
                        {
                            BS_CUS_HRM_STAFF_NhanSu.post_CUS_HRM_STAFF_NhanSu(db, PartnerID, dbitem, Username);
                        }
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }



                    #endregion
                }


                if (haveError)
                {
                    package.Save();
                    return(downloadFile(fileurl, HttpStatusCode.Conflict));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            return(Request.CreateResponse(HttpStatusCode.Created));
        }
Ejemplo n.º 10
0
        public void AddRows(ExcelWorksheet ws)
        {
            var phuongTienList  = BS_CUS_VANTAI_CONF_PhuongTien.get_CUS_VANTAI_CONF_PhuongTien(db, PartnerID, new Dictionary <string, string>()).ToList();
            var lenhLamViecList = BS_CUS_VANTAI_WO_LenhLamViec.get_CUS_VANTAI_WO_LenhLamViec(db, PartnerID, new Dictionary <string, string>(), true);
            var nhanSuList      = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, new Dictionary <string, string>());
            int rowid           = 1;

            foreach (var lenhLamViec in lenhLamViecList)
            {
                var nhatKyLamViecList = db.tbl_CUS_VANTAI_WO_NhatKyLamViec.Where(d => d.IsDeleted == false && d.IDPartner == PartnerID && d.IDLenhLamViec == lenhLamViec.ID).ToList();
                if (nhatKyLamViecList.Count() == 0 && lenhLamViec.NgayThucHien <= DateTime.Today && DateTime.Today <= lenhLamViec.NgayDuKienKetThuc && (lenhLamViec.IDTinhTrangLamViec == 2 || lenhLamViec.IDTinhTrangLamViec == 5))
                {
                    var tempNhatKy = new tbl_CUS_VANTAI_WO_NhatKyLamViec()
                    {
                        IDLenhLamViec = lenhLamViec.ID, IDPhuongTien = lenhLamViec.IDPhuongTien
                    };
                    tempNhatKy.NgayThucHien = DateTime.Today;
                    if (lenhLamViec.TaiXe.HasValue)
                    {
                        tempNhatKy.TaiXe = lenhLamViec.TaiXe.Value;
                    }
                    if (lenhLamViec.PhuXe.HasValue)
                    {
                        tempNhatKy.PhuXe = lenhLamViec.PhuXe.Value;
                    }

                    nhatKyLamViecList.Add(tempNhatKy);
                }

                foreach (var item in nhatKyLamViecList)
                {
                    rowid++;

                    //ws.Cells["A" + rowid].Value = item.ID;
                    ws.Cells["B" + rowid].Value = item.NgayThucHien.ToOADate();
                    var phuongtien = phuongTienList.FirstOrDefault(d => d.ID == item.IDPhuongTien);
                    if (phuongtien != null)
                    {
                        ws.Cells["C" + rowid].Value = phuongtien.Code + " [" + phuongtien.ID + "]";
                    }



                    ws.Cells["D" + rowid].Value = lenhLamViec.Name + " [" + lenhLamViec.ID + "]";

                    var taixe = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, item.TaiXe);
                    if (taixe != null)
                    {
                        ws.Cells["E" + rowid].Value = taixe.TenDayDu + " [" + taixe.ID + "]";
                    }

                    var phuxe = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, item.PhuXe.GetValueOrDefault());
                    if (phuxe != null)
                    {
                        ws.Cells["F" + rowid].Value = phuxe.TenDayDu + " [" + phuxe.ID + "]";
                    }

                    if (!string.IsNullOrEmpty(item.SangBatDau))
                    {
                        ws.Cells["G" + rowid].Value = TimeSpan.Parse(item.SangBatDau).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.SangKetThuc))
                    {
                        ws.Cells["H" + rowid].Value = TimeSpan.Parse(item.SangKetThuc).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.TruaBatDau))
                    {
                        ws.Cells["I" + rowid].Value = TimeSpan.Parse(item.TruaBatDau).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.TruaKetThuc))
                    {
                        ws.Cells["J" + rowid].Value = TimeSpan.Parse(item.TruaKetThuc).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.ChieuBatDau))
                    {
                        ws.Cells["K" + rowid].Value = TimeSpan.Parse(item.ChieuBatDau).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.ChieuKetThuc))
                    {
                        ws.Cells["L" + rowid].Value = TimeSpan.Parse(item.ChieuKetThuc).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.ToiBatDau))
                    {
                        ws.Cells["M" + rowid].Value = TimeSpan.Parse(item.ToiBatDau).TotalDays;
                    }
                    if (!string.IsNullOrEmpty(item.ToiKetThuc))
                    {
                        ws.Cells["N" + rowid].Value = TimeSpan.Parse(item.ToiKetThuc).TotalDays;
                    }

                    ws.Cells["O" + rowid].Formula = string.Format("N{0}-M{0}+L{0}-K{0}+J{0}-I{0}+H{0}-G{0}", rowid);
                    ws.Cells["P" + rowid].Value   = item.GiamSatThiCong;
                    ws.Cells["Q" + rowid].Value   = item.GiamSatThiCongXacNhan ? "ok" : "";
                    ws.Cells["R" + rowid].Value   = item.GiamSatThiCongNhanXet;
                    ws.Cells["S" + rowid].Value   = item.ChiHuyTruong;
                    ws.Cells["T" + rowid].Value   = item.ChiHuyTruongXacNhan ? "ok" : "";
                    ws.Cells["U" + rowid].Value   = item.ChiHuyTruongNhanXet;
                }
            }
        }
Ejemplo n.º 11
0
        public async Task <HttpResponseMessage> Post_NhanSu()
        {
            string        fileurl  = "";
            var           package  = SaveImportedFile(out fileurl);
            ExcelWorkbook workBook = package.Workbook;

            if (workBook != null)
            {
                ExcelWorksheet ws        = workBook.Worksheets.FirstOrDefault();
                bool           haveError = false;


                int SheetColumnsCount, SheetRowCount = 0;

                SheetColumnsCount = ws.Dimension.End.Column;    // Find End Column
                SheetRowCount     = ws.Dimension.End.Row;       // Find End Row

                for (int rowid = 3; rowid <= SheetRowCount; rowid++)
                {
                    #region item
                    List <string> row = new List <string>();

                    for (int i = 2; i <= SheetColumnsCount; i++)
                    {
                        row.Add(ws.Cells[rowid, i].Value == null ? "" : ws.Cells[rowid, i].Text);
                    }

                    if (string.IsNullOrEmpty(row[1]) || string.IsNullOrEmpty(row[2]) || string.IsNullOrEmpty(row[4]) || string.IsNullOrEmpty(row[6])) //check validate
                    {
                        continue;
                    }


                    string code   = row[1];
                    var    dbitem = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, code);
                    if (dbitem == null)
                    {
                        dbitem = new DTO_CUS_HRM_STAFF_NhanSu();
                    }

                    if (int.TryParse(row[0], out int sort))
                    {
                        dbitem.Sort = sort;
                    }

                    dbitem.Code        = row[1];
                    dbitem.Name        = row[2];
                    dbitem.SoDienThoai = row[3];
                    dbitem.Email       = row[4].ToLower();
                    string password = row[5];

                    //update role
                    if (!string.IsNullOrEmpty(row[6]))
                    {
                        var r = BS_CUS_SYS_Role.get_CUS_SYS_Role(db, PartnerID, row[6]);
                        if (r != null)
                        {
                            dbitem.IDRole = r.ID;
                        }
                        else
                        {
                            continue;
                        }
                    }


                    try
                    {
                        if (dbitem.ID != 0)
                        {
                            BS_CUS_HRM_STAFF_NhanSu.put_CUS_HRM_STAFF_NhanSu(db, PartnerID, dbitem.ID, dbitem, Username);
                        }
                        else
                        {
                            BS_CUS_HRM_STAFF_NhanSu.post_CUS_HRM_STAFF_NhanSu(db, PartnerID, dbitem, Username);
                        }


                        //create/update account
                        var  context  = new ApplicationDbContext();
                        var  dbUser   = context.Users.FirstOrDefault(d => d.Email == dbitem.Email);
                        bool isCreate = false;

                        if (dbUser == null && !string.IsNullOrEmpty(password))
                        {
                            isCreate           = true;
                            dbUser             = new ApplicationUser();
                            dbUser.UserName    = dbUser.Email = dbitem.Email;
                            dbUser.CreatedDate = DateTime.UtcNow;
                            dbUser.CreatedBy   = Username;
                            IdentityResult result = await UserManager.CreateAsync(dbUser, password);
                        }

                        if (dbUser != null)
                        {
                            dbUser.FullName    = dbitem.Name;
                            dbUser.Avatar      = string.Format("Uploads/HRM/Staffs/Avatars/{0}.jpg", dbitem.Code);
                            dbUser.PhoneNumber = dbitem.SoDienThoai;
                            dbUser.StaffID     = dbitem.ID;
                            dbUser.PartnerID   = dbitem.IDPartner;

                            context.SaveChanges();
                        }
                        //mail
                        if (isCreate)
                        {
                            string template =
                                @"
                    Xin chào <strong>@Model.FullName</strong>,
                    <br>
                    <br>Bạn vừa được tạo tài khoản truy cập vào hệ thống Quản lý Đề tài Nghiên cứu khoa học.
                    <br>
                    <br>Tài khoản đăng nhập:
                    <br>Email: <strong>@Model.Email</strong>
                    <br>Mật khẩu: <strong>@Model.Password</strong>
                    <br>
                    <br>Vui lòng đăng nhập tại
                    <br><a href='@Model.Domain'>@Model.Domain</a>
                    <br>";

                            var html = Engine.Razor.RunCompile(template, "Register_EmailTemplate", null, new { FullName = dbUser.FullName, Email = dbUser.Email, Password = password, Domain = "http://myduc.appcenter.vn:9003/" });

                            EmailService emailService = new EmailService();
                            //emailService.SendSync(new IdentityMessage() { Subject = "Quản lý Đề tài Nghiên cứu khoa học - thông tin tài khoản", Destination = dbUser.Email, Body = html });
                        }
                        else if (!string.IsNullOrEmpty(password))
                        {
                            UserManager.RemovePassword(dbUser.Id);
                            IdentityResult result = await UserManager.AddPasswordAsync(dbUser.Id, password);
                        }
                    }
                    catch (Exception ex)
                    {
                        log.Error("Import/Post_NhanSu", ex);
                        continue;
                    }



                    #endregion
                }


                if (haveError)
                {
                    package.Save();
                    return(downloadFile(fileurl, HttpStatusCode.Conflict));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            return(Request.CreateResponse(HttpStatusCode.Created));
        }
Ejemplo n.º 12
0
        public IQueryable <DTO_CUS_HRM_STAFF_NhanSu> GetNhanSuChuNhiem()
        {
            var result = BS_CUS_HRM_STAFF_NhanSu.get_CUS_HRM_STAFF_NhanSu(db, PartnerID, QueryStrings, true).ToList();

            return(result.AsQueryable());
        }