Esempio n. 1
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));
        }
Esempio n. 2
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));
        }