示例#1
0
        public WebmasterInfo ConvertToEF(WebmasterInfoDTO DTO)
        {
            var EF = new WebmasterInfo()
            {
                WebmasterInfoId = DTO.WebmasterInfoId,
                WIFullName      = DTO.WIFullName,
                WIStatus        = DTO.WIStatus,
                WIType          = DTO.WIType,
                WIUserName      = DTO.WIUserName,
                WI_AspNetUserId = DTO.WI_AspNetUserId,
                WIBirthDay      = DTO.WIBirthDay,
                WIGender        = DTO.WIGender,
                WIAddress       = DTO.WIAddress,
                WIDateStart     = DTO.WIDateStart,
                WIPosition      = DTO.WIPosition
            };

            if (DTO.AspNetUserDTO != null)
            {
                EF.AspNetUser = _aspnetuserConvert.ConvertToEF(DTO.AspNetUserDTO);
            }


            return(EF);
        }
示例#2
0
        public WebmasterInfoDTO ConvertToDTO(WebmasterInfo EF)
        {
            var DTO = new WebmasterInfoDTO()
            {
                WebmasterInfoId = EF.WebmasterInfoId,
                WIFullName      = EF.WIFullName,
                WIStatus        = EF.WIStatus,
                WIType          = EF.WIType,
                WIUserName      = EF.WIUserName,
                WI_AspNetUserId = EF.WI_AspNetUserId,
                WIBirthDay      = EF.WIBirthDay,
                WIGender        = EF.WIGender,
                WIAddress       = EF.WIAddress,
                WIDateStart     = EF.WIDateStart,
                WIPosition      = EF.WIPosition
            };

            if (EF.WIBirthDay != null)
            {
                DTO.WIBirthdayString = EF.WIBirthDay.Value.ToString("yyyy-MM-dd");
            }
            if (EF.AspNetUser != null)
            {
                DTO.AspNetUserDTO = _aspnetuserConvert.ConvertToDTO(EF.AspNetUser);
                DTO.WIEmail       = DTO.AspNetUserDTO.Email;
                DTO.WIPhoneNumber = DTO.AspNetUserDTO.PhoneNumber;
            }

            switch (EF.WIPosition)
            {
            case (int)BU.Common.Enum.WIPosition.Admin:
                DTO.nameRole = "Quản trị";
                break;

            default:
                DTO.nameRole = "Nhân viên";
                break;
            }


            switch (EF.WIStatus)
            {
            case (int)BU.Common.Enum.StatusAccount.Active:
                DTO.WIStatusString = "Active";
                break;

            case (int)BU.Common.Enum.StatusAccount.Approvaling:
                DTO.WIStatusString = "Waiting for approval";
                break;

            case (int)BU.Common.Enum.StatusAccount.Block:
                DTO.WIStatusString = "Pause";
                break;

            default:
                DTO.WIStatusString = "Deleted";
                break;
            }
            return(DTO);
        }
示例#3
0
 public int Update(WebmasterInfoDTO DTO)
 {
     try
     {
         return(dao.Update(convertData.ConvertToEF(DTO)));
     }
     catch (Exception)
     {
         return(0);
     }
 }
示例#4
0
 public int Insert(WebmasterInfoDTO DTO)
 {
     try
     {
         repo.Insert(convertData.ConvertToEF(DTO));
         repo.SaveChanges();
         return(1);
     }
     catch (Exception)
     {
         return(0);
     }
 }
示例#5
0
        public ActionResult DetailAccount(int?id)
        {
            ActionResult result;

            if (id == null)
            {
                result = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            else
            {
                WebmasterInfoDTO infoWebmasterById = this._webMasterManage.GetInfoWebmasterById(id.Value);
                result = !ReferenceEquals(infoWebmasterById, null) ? ((ActionResult)base.View(infoWebmasterById)) : ((ActionResult)base.HttpNotFound());
            }
            return(result);
        }
示例#6
0
        public async Task <ActionResult> UpdateAccount(WebmasterInfoDTO accountdto, int typeFix)
        {
            var resultCode = 0;
            var message    = "";
            var status     = "error";

            try
            {
                accountdto.WIBirthDay = BU.Common.ConvetDate.ParseRequestDate(accountdto.WIBirthdayString);
                if (typeFix == (int)BU.Common.Enum.TypeFix.Add)
                {
                    //register
                    var user = new ApplicationUser {
                        UserName = accountdto.WIUserName, Email = accountdto.WIEmail, PhoneNumber = accountdto.WIPhoneNumber, EmailConfirmed = true
                    };
                    var result = await UserManager.CreateAsync(user, accountdto.WIPassword);

                    if (result.Succeeded)
                    {
                        //Send mail
                        //string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                        //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                        //await UserManager.SendEmailAsync(user.Id, "Xác nhận tài khoản của bạn", "Vui lòng xác nhận tài khoản của bạn bằng cách nhấp vào <a href=\"" + callbackUrl + "\">đây</a>");

                        //add role
                        switch (accountdto.WIPosition)
                        {
                        case (int)BU.Common.Enum.WIPosition.Admin:
                        {
                            UserManager.AddToRole(user.Id, "Quản trị");
                        }
                        break;

                        case (int)BU.Common.Enum.WIPosition.ManageNewAndJob:
                        {
                            UserManager.AddToRole(user.Id, "Quản lý công việc");
                            UserManager.AddToRole(user.Id, "Quản lý tin tức");
                        }
                        break;

                        case (int)BU.Common.Enum.WIPosition.ManageUser:
                        {
                            UserManager.AddToRole(user.Id, "Quản lý người tìm việc");
                            UserManager.AddToRole(user.Id, "Quản lý người tuyển dụng");
                        }
                        break;

                        case (int)BU.Common.Enum.WIPosition.ManageWebsite:
                        {
                            UserManager.AddToRole(user.Id, "Quản lý quảng cáo");
                            UserManager.AddToRole(user.Id, "Quản lý thống kê");
                            UserManager.AddToRole(user.Id, "Quản lý website");
                        }
                        break;

                        default:
                            break;
                        }

                        //insert to table WebmasterInfo
                        accountdto.WI_AspNetUserId = user.Id;
                        accountdto.WIDateStart     = DateTime.Now;
                        resultCode = _webMasterManage.Insert(accountdto);
                        status     = "success";
                        message    = "Add successful account! Please check your email to confirm your account";
                    }
                    else
                    {
                        foreach (var e in result.Errors)
                        {
                            message += e.ToString();
                        }
                    }
                }
                else
                {
                    // get user object from the storage
                    var user = await UserManager.FindByIdAsync(accountdto.WI_AspNetUserId);

                    var checkChange = false;

                    //check change email
                    if (!user.Email.Equals(accountdto.WIEmail))
                    {
                        checkChange = true;
                        user.Email  = accountdto.WIEmail;
                    }

                    //check change username
                    if (!user.UserName.Equals(accountdto.WIUserName))
                    {
                        checkChange   = true;
                        user.UserName = accountdto.WIUserName;
                    }

                    //check change phone
                    if (!(user.PhoneNumber == accountdto.WIPhoneNumber))
                    {
                        checkChange      = true;
                        user.PhoneNumber = accountdto.WIPhoneNumber;
                    }
                    // change username and email
                    //if()
                    // Persiste the changes
                    var checkUpdateAsync = true;
                    var update           = new IdentityResult();

                    if (checkChange)
                    {
                        update = await UserManager.UpdateAsync(user);

                        if (update.Succeeded)
                        {
                            //check change email
                            if (!user.Email.Equals(accountdto.WIEmail))
                            {
                                // generage email confirmation code
                                var emailConfirmationCode = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

                                var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = emailConfirmationCode }, protocol: Request.Url.Scheme);
                                await UserManager.SendEmailAsync(user.Id, "Xác nhận tài khoản của bạn", "Vui lòng xác nhận tài khoản của bạn bằng cách nhấp vào <a href=\"" + callbackUrl + "\">đây</a>");
                            }
                        }
                        else
                        {
                            checkUpdateAsync = false;
                            foreach (var e in update.Errors)
                            {
                                message += e.ToString();
                            }
                        }
                    }
                    if (checkUpdateAsync)
                    {
                        resultCode = _webMasterManage.Update(accountdto);
                        switch (resultCode)
                        {
                        case 1:
                        {
                            status  = "success";
                            message = "Update successful!";
                        }
                        break;

                        default:
                            message = "An error has occurred during the update process!";
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }

            return(Json(new { resultCode = resultCode, message = message, status = status }, JsonRequestBehavior.AllowGet));
        }