public BussinessResult <User> SendMailForConfirm(User entity, string action, string controller)
        {
            BussinessResult <User> result = new BussinessResult <User>();
            string TemplateHtml           = HtmlMailDesign.TemplateChangePassword(entity.ConfirmCode.ToString(), controller, action, true, "localhost:44363", false, false, "turnedGuid", Username: entity.Username);
            bool   isMailSent             = MailHelper.SendMail(TemplateHtml, entity.Email, MailHelper.MailSubjectStatus(SubjectStatus.ChangePasswordRequest));

            if (isMailSent == true)
            {
                result.Result = entity;
            }
            else
            {
                result.Errors.Add(new BussinessError
                {
                    Subject   = "",
                    Detail    = "Sifre Deyisme Maili Gonderme Prosesi Ugursuz Oldu. Zehmet Olmasa Qeydiyyatdan Kecerken Movcud Email Adresinden Istifade Edin.",
                    ErrorCode = InformingOrError.ErrorFailedChangePasswordEmail
                });
            }

            return(result);
        }
        public BussinessResult <User> RegisterUserCheck(UserRegister newUser, bool IsRegisterQuickly = false)
        {
            BussinessResult <User> layerResult = new BussinessResult <User>();
            User user = repo_user.Get(x => x.Username == newUser.Username || x.Email == newUser.Email);
            DefaultImageHelper defaultImage = new DefaultImageHelper();

            if (user != null && user.IsDeleted == false)
            {
                if (user.Username == newUser.Username)
                {
                    layerResult.Errors.Add(new BussinessError
                    {
                        Subject   = "Username",
                        ErrorCode = InformingOrError.ErrorRegisterAlreadyExistUsername,
                        Detail    = "Bu İstifadəçi adı mövcuddur."
                    });
                }
                if (user.Email == newUser.Email)
                {
                    layerResult.Errors.Add(new BussinessError
                    {
                        Subject   = "Email",
                        ErrorCode = InformingOrError.ErrorRegisterAlreadyExistEmail,
                        Detail    = "Bu Email Adresi Mövcuddur."
                    });
                }
            }
            else
            {
                User successUser = new User
                {
                    Username    = newUser.Username,
                    Password    = Crypto.HashPassword(newUser.Password),
                    Email       = newUser.Email,
                    Gender      = newUser.Gender,
                    ConfirmCode = Guid.NewGuid(),
                    Token       = Guid.NewGuid()
                };
                if (newUser.Gender)
                {
                    successUser.ImageRoad = defaultImage.UserBoyProfilePhoto;
                }
                else
                {
                    successUser.ImageRoad = defaultImage.UserGirlProfilePhoto;
                }

                #region WebMailSendVersion
                //WebMail.SmtpServer = "smtp.gmail.com";
                //WebMail.SmtpPort = 587;
                //WebMail.UserName = "******";
                //WebMail.Password = "******";
                //WebMail.EnableSsl = true;
                //WebMail.Send(
                //    to: successUser.Email,
                //    subject: "Account Confirmation By Email",
                //    body: HtmlMailDesign.TemplateActivation1(successUser.ConfirmCode.ToString(), "MyEvernoteHome", "ActivationConfirming", false, ConfigHelper.Get<string>("SiteRootUri"), false, false, "confirm", Username: successUser.Username),
                //    isBodyHtml: true,
                //    replyTo: "*****@*****.**"
                //    );
                #endregion

                string htmlBody   = HtmlMailDesign.TemplateActivation1(successUser.ConfirmCode.ToString(), "MyEvernoteHome", "ActivationConfirming", true, "localhost:44363", false, false, "confirm", Username: successUser.Username, IsQuicklyRegister: IsRegisterQuickly, quicklyPassowrd: newUser.Password);
                bool   isMailSent = MailHelper.SendMail(htmlBody, successUser.Email, MailHelper.MailSubjectStatus(SubjectStatus.AccountConfirmationMail));

                if (isMailSent == true)
                {
                    int processed = base.Insert(successUser);

                    if (processed > 0)
                    {
                        layerResult.Result = successUser;
                    }
                    else
                    {
                        layerResult.Errors.Add(new BussinessError
                        {
                            ErrorCode = InformingOrError.ErrorRegisterUnknownSoftwareCode,
                            Detail    = "Sistemde Taninmayan Bir Xeta Yarandi. Zehmet Olmasa Birazdan Tekrar Cehd Edin.",
                            Subject   = ""
                        });
                    }
                }
                else
                {
                    layerResult.Errors.Add(new BussinessError
                    {
                        Subject   = "",
                        Detail    = "Hesabiniza Tesdiqleme Maili Gonderme Prosesi Ugursuz Oldu. Zehmet Olmasa Qeydiyyatdan Kecerken Movcud Email Adresinden Istifade Edin.",
                        ErrorCode = InformingOrError.ErrorRegisterFailedSendingConfirmEmail
                    });
                }
            }
            return(layerResult);
        }