예제 #1
0
        public BusinessLayerResult <EvernoteUser> RemoveUserById(int id)
        {
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();
            EvernoteUser user = repo_user.Find(x => x.Id == id);

            if (user != null)
            {
                if (repo_user.Delete(user) == 0)
                {
                    res.AddError(ErrorMessageCode.UserCouldNotRemove, "Kullanıcı silinemedi.");
                    return(res);
                }
            }
            else
            {
                res.AddError(ErrorMessageCode.UserCouldNotFind, "Kullanıcı bulunamadı.");
            }

            return(res);
        }
예제 #2
0
        public BusinessLayerResult <EvernoteUser> LoginUser(LoginViewModel data)
        {
            BusinessLayerResult <EvernoteUser> layerResult = new BusinessLayerResult <EvernoteUser>();

            layerResult.Result = Find(x => x.UserName == data.Username && x.Password == data.Password);
            if (layerResult.Result != null)
            {
                if (!layerResult.Result.isActive)
                {
                    layerResult.AddError(ErrorMessageCode.UserIsNotActive, "Kulllanıcı aktifleştirilmemiştir. ");
                    layerResult.AddError(ErrorMessageCode.CheckYourEmail, "Lütfen e-posta adresinizi kontrol ediniz.");
                }
            }
            else
            {
                layerResult.AddError(ErrorMessageCode.UsernameOrPassWrong, "Kullanıcı Adı yada Şifre Uyuşmuyor!");
            }

            return(layerResult);
        }
예제 #3
0
        public BusinessLayerResult <EvernoteUser> UpdateProfile(EvernoteUser data)
        {
            EvernoteUser db_user = Find(x => (x.Username == data.Username || x.Email == data.Email) && x.Id != data.Id);
            BusinessLayerResult <EvernoteUser> blr = new BusinessLayerResult <EvernoteUser>();

            if (db_user != null)
            {
                if (db_user.Username == data.Username)
                {
                    blr.AddError(ErrorCode.UsernameAlreadyExists, "Kullanıcı adı kullanılıyor");
                }

                if (db_user.Email == data.Email)
                {
                    blr.AddError(ErrorCode.EmailAlreadyExists, "E-posta adresi kullanılıyor");
                }

                return(blr);
            }


            blr.Result = Find(x => x.Id == data.Id);

            blr.Result.Username = data.Username;
            blr.Result.Email    = data.Email;
            blr.Result.Name     = data.Name;
            blr.Result.Surname  = data.Surname;

            if (!String.IsNullOrEmpty(data.ProfileImageFileName))
            {
                blr.Result.ProfileImageFileName = data.ProfileImageFileName;
            }


            if (base.Update(blr.Result) == 0)
            {
                blr.AddError(ErrorCode.ProfileCouldNotUpdated, "Profil güncellenemedi!");
            }

            return(blr);
        }
        public BusinessLayerResult <EvernoteUser> RegisterUser(RegisterViewModel data)
        {
            EvernoteUser user = Find(x => x.Username == data.Username || x.Email == data.EMail);
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();//model ile birlikte birden fazla hata dönebilmek için olusturduk

            if (user != null)
            {
                if (user.Username == data.Username)//aynı isimde email adresi yada kullanıcı adı varsa dönen modele eklenecek
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExist, "Kullanıcı adı kayıtlı.");
                }
                if (user.Email == data.EMail)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExist, "E-Posta adresi kayıtlı.");
                }
            }
            else
            {//insert işlemi
                int dbResult = base.Insert(new EvernoteUser()
                {
                    Name                 = data.Name,
                    Surname              = data.Surname,
                    Username             = data.Username,
                    Email                = data.EMail,
                    Password             = data.Password,
                    ProfileImageFilename = "profilepic.png",
                    ActivateGuid         = Guid.NewGuid(),
                    IsActive             = false,
                    IsAdmin              = false,
                });
                if (dbResult > 0)
                {
                    res.Result = Find(x => x.Username == data.Username && x.Email == data.EMail);
                    string siteUri     = ConfigHelper.Get <string>("SiteRootUri");
                    string activateUri = $"{siteUri}/Home/UserActivate/{res.Result.ActivateGuid}";
                    string body        = $"Merhaba { res.Result.Username}, <br><br>Hesabınızı aktifleştirmek için <a href='{activateUri}' target='_blank'>tıklayınız</a>.";
                    MailHelper.SendMail(body, res.Result.Email, "MyEvernote Hesap Aktifleştirme");
                }
            }
            return(res);
        }
        public new BusinessLayerResult <EvernoteUser> Insert(EvernoteUser data)
        {
            EvernoteUser user = Find(x => x.Username == data.Username || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();//model ile birlikte birden fazla hata dönebilmek için olusturduk

            res.Result = data;
            if (user != null)
            {
                if (user.Username == data.Username)//aynı isimde email adresi yada kullanıcı adı varsa dönen modele eklenecek
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExist, "Kullanıcı adı kayıtlı.");
                }
                if (user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExist, "E-Posta adresi kayıtlı.");
                }
            }
            else
            {
                res.Result.ProfileImageFilename = "profilepic.png";
                res.Result.ActivateGuid         = Guid.NewGuid();

                int dbResult = base.Insert(res.Result);
                if (dbResult == 0)
                {
                    res.AddError(ErrorMessageCode.UserCouldNotInserted, "Kullanıcı eklenemedi.");
                }
                else if (dbResult > 0)
                {
                    if (res.Result.IsActive == false)
                    {
                        res.Result = Find(x => x.Username == data.Username && x.Email == data.Email);
                        string siteUri     = ConfigHelper.Get <string>("SiteRootUri");
                        string activateUri = $"{siteUri}/Home/UserActivate/{res.Result.ActivateGuid}";
                        string body        = $"Merhaba { res.Result.Username}, <br><br>Hesabınızı aktifleştirmek için <a href='{activateUri}' target='_blank'>tıklayınız</a>.";
                        MailHelper.SendMail(body, res.Result.Email, "MyEvernote Hesap Aktifleştirme");
                    }
                }
            }
            return(res);
        }
예제 #6
0
        public BusinessLayerResult <EvernoteUser> UpdateProfile(EvernoteUser data)
        {
            EvernoteUser db_user = Find(x => x.Username == data.Username || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            if (db_user != null && db_user.Id != data.Id)
            {
                if (db_user.Username == data.Username)
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExist, "Kullanıcı adı kayıtlı.");
                }

                if (db_user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExist, "E-posta adresi kayıtlı.");
                }

                return(res);
            }

            res.Result          = Find(x => x.Id == data.Id);
            res.Result.Email    = data.Email;
            res.Result.Name     = data.Name;
            res.Result.Surname  = data.Surname;
            res.Result.Password = data.Password;
            res.Result.Username = data.Username;
            res.Result.IsActive = true; //TODO: Mail onayından sonra değiştirilecek.
            res.Result.IsAdmin  = data.IsAdmin;

            if (string.IsNullOrEmpty(data.ProfileImageFileName) == false)
            {
                res.Result.ProfileImageFileName = data.ProfileImageFileName;
            }

            if (base.Update(res.Result) == 0)
            {
                res.AddError(ErrorMessageCode.UserCouldNotUpdated, "Kullanıcı güncellenemedi.");
            }

            return(res);
        }
        public BusinessLayerResult <EvernoteUser> UpdateProfile(EvernoteUser data)
        {
            EvernoteUser db_user = Find(x => x.Username == data.Username || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();


            if (db_user != null && db_user.Id != data.Id)
            {
                if (db_user.Username == data.Username)
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExists, "Kullanıcı Adı Kayıtlı");
                }

                if (db_user.Email == data.Email)

                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExists, "E-Posta Adres Kayıtlı");
                }

                return(res);
            }

            res.Result          = Find(x => x.Id == data.Id);
            res.Result.Email    = data.Email;
            res.Result.Name     = data.Name;
            res.Result.Surname  = data.Surname;
            res.Result.Password = data.Password;
            res.Result.Username = data.Username;

            if (string.IsNullOrEmpty(data.ProfileImageFile) == false)
            {
                res.Result.ProfileImageFile = data.ProfileImageFile;
            }

            if (base.Update(res.Result) == 0)
            {
                res.AddError(ErrorMessageCode.ProfileCouldNotUpdated, "Profil Güncellenemedi");
            }

            return(res);
        }
예제 #8
0
        //method hiding
        public new BusinessLayerResult <EvernoteUser> Update(EvernoteUser data)
        {
            EvernoteUser db_user = Find(x => x.Id != data.Id && (x.Username == data.Username || x.Email == data.Email));
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            res.Result = data;

            if (db_user != null && db_user.Id != data.Id)
            {
                if (db_user.Username == data.Username)
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExists, "Kullanıcı adı kayıtlı.");
                }

                if (db_user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExists, "E-posta adresi kayıtlı.");
                }

                return(res);
            }

            res.Result          = Find(x => x.Id == data.Id);
            res.Result.Email    = data.Email;
            res.Result.Name     = data.Name;
            res.Result.Surname  = data.Surname;
            res.Result.Password = data.Password;
            res.Result.Username = data.Username;
            res.Result.IsActive = data.IsActive;
            res.Result.IsAdmin  = data.IsAdmin;
            res.Result.IsDelete = data.IsDelete;



            if (base.Update(res.Result) == 0)
            {
                res.AddError(ErrorMessageCode.UserCouldNotUpdated, "Kullanıcı güncellenemedi.");
            }

            return(res);
        }
예제 #9
0
        //Metot hiding
        //new anahtar sözcüğü yazarak üst casstaki metodu değil bu metodu kullan diyoruz(override' a benziyor ama burdaki fark geriye dönüş tipini değiştirebiliyoruz. )
        public new BusinessLayerResult <EvernoteUser> Insert(EvernoteUser data)
        {
            //Kullanıcı username kontrolü
            //Kullanıcı eposta kontrolü..
            //Kayıt İşlemi..
            // Aktivasyon epostası gönderimi


            EvernoteUser user = Find(x => x.UserName == data.UserName || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> layerResult = new BusinessLayerResult <EvernoteUser>();

            layerResult.Result = data;
            //böyle bir kullanıcı varsa
            if (user != null)
            {
                if (user.UserName == data.UserName)
                {
                    layerResult.AddError(ErrorMessageCode.UserNameAlreadyExists, "Kullanıcı adı kayıtlı");//hatalara ekle
                }

                if (user.Email == data.Email)
                {
                    layerResult.AddError(ErrorMessageCode.EmailAlreadyExists, "Eposta adresi kayıtlı");
                }
            }
            else
            {//kayıt işlemi
                layerResult.Result.ProfileImageFileName = "user_boy.png";
                layerResult.Result.ActivateGuid         = Guid.NewGuid();



                if (base.Insert(layerResult.Result) == 0)
                {
                    layerResult.AddError(ErrorMessageCode.UserCouldNotInserted, "Kullanıcı Eklenemedi");
                }
            }


            return(layerResult);
        }
예제 #10
0
        public BusinessLayerResult <EvernoteUser> RemoveUserById(int id)
        {
            BusinessLayerResult <EvernoteUser> blr = new BusinessLayerResult <EvernoteUser>();

            blr.Result = Find(x => x.Id == id);

            if (blr.Result != null)
            {
                if (Delete(blr.Result) == 0)
                {
                    blr.AddError(ErrorCode.UserCouldNotRemove, "Kullanıcı silme işlemi başarısız!");
                    return(blr);
                }
            }
            else
            {
                blr.AddError(ErrorCode.UserNotFound, "Kullanıcı bulunamadı");
            }

            return(blr);
        }
예제 #11
0
        public BusinessLayerResult <EvernoteUser> LoginUser(LoginViewModel data)
        {
            //giriş kontrolü
            //hesap aktive edilmiş mi?
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            res.Result = repo_user.Find(x => x.UserName == data.username && x.Password == data.password);
            if (res.Result != null)
            {
                if (!res.Result.IsActive)
                {
                    res.AddError(ErrorMessageCode.UserIsNotActive, "Kullanıcı Aktifleştirilmemiştir.");
                    res.AddError(ErrorMessageCode.CheckYourEmail, "Lütfen E-postanızı Kontrol Ediniz");
                }
            }
            else
            {
                res.AddError(ErrorMessageCode.UsernameOrPassWrong, "Kullanıcı Adı yada Şifre Uyuşmuyor.");
            }
            return(res);
        }
예제 #12
0
        public BusinessLayerResult <EvernoteUser> LoginUser(LoginViewModel data)
        {
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            res.Result = Find(x => x.Username == data.Username && x.Password == data.Password);

            if (res.Result != null)
            {
                if (!res.Result.IsActive)
                {
                    res.AddError(ErrorMessagesCode.UserIsNotActive, "Kullanıcı aktifleştirilmemiştir.");
                    res.AddError(ErrorMessagesCode.CheckYourEmail, "Lütfen e-posta adresinizi kontrol ediniz.");
                }
            }
            else
            {
                res.AddError(ErrorMessagesCode.UsernameOrPassWrong, "Kullanıcı ya da şifre uyuşmuyor.");
            }

            return(res);
        }
        public BusinessLayerResult <EvernoteUser> LoginUser(LoginViewModel data)
        {
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            res.Result = Find(x => x.Username == data.Username || x.Password == data.Password);

            if (res.Result != null)
            {
                if (!res.Result.IsActive)
                {
                    res.AddError(ErrorMessageCode.ChechYourEmail, "Lütfen e-postanızı kontrol ediniz, Üyeliğinizi aktifleştiriniz.");
                }
            }

            else
            {
                res.AddError(ErrorMessageCode.UsernameorPassWrong, "Kullanıcı Adı ve Şifre Uyuşmamaktadır.");
            }

            return(res);
        }
예제 #14
0
        public BusinessLayerResult <EverNoteUser> ActivateUser(Guid activateId)
        {
            BusinessLayerResult <EverNoteUser> res = new BusinessLayerResult <EverNoteUser>();

            res.Result = repo_user.Find(x => x.ActivateGuid == activateId);
            if (res.Result != null)
            {
                if (res.Result.IsActive)
                {
                    res.AddError(ErrorMessageCode.UserAlreadyActive, "Kullanıcı zaten aktif edilmiştir");
                    return(res);
                }
                res.Result.IsActive = true;
                repo_user.Update(res.Result);
            }
            else
            {
                res.AddError(ErrorMessageCode.ActivateIdDoesNotExist, "Aktivasyon kodu hatalı");
            }
            return(res);
        }
예제 #15
0
        public BusinessLayerResult <EvernoteUser> ActivateUser(Guid activateId)
        {
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            res.Result = Find(x => x.ActivateGuid == activateId);
            if (res.Result != null)
            {
                if (res.Result.IsActive)
                {
                    res.AddError(ErrorMessageCode.UserAlreadyActive, "Kullanıcı Aktif edilmiştir.");
                    return(res);
                }
                res.Result.IsActive = true;
                Update(res.Result);
            }
            else
            {
                res.AddError(ErrorMessageCode.ActivateIdDoesNotExists, "Aktifleştirilecek kullanıcı bulunamadı.");
            }
            return(res);
        }
예제 #16
0
        public BusinessLayerResult <EverNoteUser> ActivateUser(Guid activadeId)
        {
            BusinessLayerResult <EverNoteUser> layerResult = new BusinessLayerResult <EverNoteUser>();

            layerResult.Result = repo_user.Find(x => x.ActivateGuid == activadeId);

            if (layerResult.Result != null)
            {
                if (layerResult.Result.IsActive)
                {
                    layerResult.AddError(ErrorMessageCode.UserAlreadyActivate, "Kullanıcı zaten aktif edilmiştir.");
                    return(layerResult);
                }
                layerResult.Result.IsActive = true;
                repo_user.Update(layerResult.Result);
            }
            else
            {
                layerResult.AddError(ErrorMessageCode.ActivateIdDoesNotExists, "Aktifleştirilecek kullanıcı bulunamadı.");
            }
            return(layerResult);
        }
예제 #17
0
        public BusinessLayerResult <EvernoteUser> RemoveUserById(int id)
        {
            EvernoteUser user = Find(x => x.Id == id);
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            if (user != null)
            {
                if (Delete(user) == 0)
                {
                    res.AddError(ErrorMessageCode.UserCouldNotRemove, "Kullanıcı silinemedi.");
                    return(res);
                }
                else
                {
                    res.AddError(ErrorMessageCode.UserCouldNotFind, "Kullanıcı bulunamadı.");
                }
            }

            return(res);

            //İlişkili tablolarda kaydı varsa da hata verecek. Onunla ilgili de işlem yapılmalıdır?
        }
        public BusinessLayerResult <EvernoteUser> UpdateProfile(EvernoteUser data)
        { // Kullanıcının userName'ni veya Emaili var mı bulmaya çalışıyoruz.
            EvernoteUser db_user = Find(x => x.UserName == data.UserName || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            // Eğer kullanıcı var ise  <- &&
            // && -> Kullanıcı kendi ismini değiştirmez ise yani başka şeyleri değiştirip kullanıcı adını değiştirmek istemiyorsa
            // Kontrolü yapıyoruz . Kullanıcı adını tekrar alıp kayıt işlemi yapıyoruz.
            if (db_user != null && db_user.Id != data.Id)
            {
                // Kullanıcı başka bir kullanıcının UserName'ini kaydetmeye çalışıyor ise
                if (db_user.UserName == data.UserName)
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExists, "Kullanıcı adı kayıtlı");
                }
                // Kullanıcı başka bir kullanıcının Email'ini kaydetmeye çalışıyor ise
                if (db_user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExists, "E-posta adresi kayıtlı");
                }
                return(res);
            }
            res.Result          = Find(x => x.Id == data.Id);
            res.Result.Email    = data.Email;    // Yazılan emaili veri tabanında güncelle
            res.Result.Name     = data.Name;     // Yazılan ismi veri tabanında güncelle
            res.Result.Surname  = data.Surname;  // Yazılan soy ismi veri tabanında güncelle
            res.Result.Password = data.Password; // Yazılan şifreyi veri tabanında güncelle
            res.Result.UserName = data.UserName; // Yazılan Kullanıcı adını veri tabanında güncelle
            // fotoğrafı güncellemek istiyor ise
            if (string.IsNullOrEmpty(data.ProfileImageFilename) == false)
            {
                res.Result.ProfileImageFilename = data.ProfileImageFilename; // Profil resmini güncelle
            }
            if (base.Update(res.Result) /*Kullanıcı hem güncellenir hem döndürdüğü int değer kontol edilir */ == 0)
            {
                res.AddError(ErrorMessageCode.ProfileCouldNotUpdated, "Profil Güncellenemedi.");
            }
            return(res);
        } // Kullanıcı profil güncelleştirme
예제 #19
0
        public new BusinessLayerResult <EvernoteUser> Update(EvernoteUser data)
        {
            EvernoteUser user = Find(x => x.Username == data.Username || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> layerResult = new BusinessLayerResult <EvernoteUser>();

            layerResult.Result = data;

            if (user != null && user.Id != data.Id)
            {
                if (user.Username == data.Username)
                {
                    layerResult.AddError(ErrorMessageCode.UserAlreadyExists, "Kullanıcı adı kayıtlı.");
                }
                if (user.Email == data.Email)
                {
                    layerResult.AddError(ErrorMessageCode.EmailAlreadyExists, "Email adresi ile daha önce kayıt olunmuş.");
                }

                return(layerResult);
            }
            else
            {
                layerResult.Result          = Find(x => x.Id == data.Id);
                layerResult.Result.Email    = data.Email;
                layerResult.Result.Name     = data.Name;
                layerResult.Result.Surname  = data.Surname;
                layerResult.Result.Password = data.Password;
                layerResult.Result.Username = data.Username;
                layerResult.Result.IsActive = data.IsActive;
                layerResult.Result.IsAdmin  = data.IsAdmin;

                if (base.Update(layerResult.Result) == 0)
                {
                    layerResult.AddError(ErrorMessageCode.UserCouldNotUpdated, "Kullanıcı güncellenemedi.");
                }
                return(layerResult);
            }
        }
예제 #20
0
        public BusinessLayerResult <EvernoteUser> UpdateProfile(EvernoteUser data)
        {
            EvernoteUser user = Find(x => x.Username == data.Username || x.Email == data.Email);
            BusinessLayerResult <EvernoteUser> layerResult = new BusinessLayerResult <EvernoteUser>();

            if (user != null && user.Id != data.Id)
            {
                if (user.Username == data.Username)
                {
                    layerResult.AddError(ErrorMessageCode.UserAlreadyExists, "Kullanıcı adı kayıtlı.");
                }
                if (user.Email == data.Email)
                {
                    layerResult.AddError(ErrorMessageCode.EmailAlreadyExists, "Email adresi ile daha önce kayıt olunmuş.");
                }

                return(layerResult);
            }
            else
            {
                layerResult.Result          = Find(x => x.Id == data.Id);
                layerResult.Result.Email    = data.Email;
                layerResult.Result.Name     = data.Name;
                layerResult.Result.Surname  = data.Surname;
                layerResult.Result.Password = data.Password;
                layerResult.Result.Username = data.Username;

                if (string.IsNullOrEmpty(data.ProfileImageFileName) == false)
                {
                    layerResult.Result.ProfileImageFileName = data.ProfileImageFileName;
                }
                if (base.Update(layerResult.Result) == 0)
                {
                    layerResult.AddError(ErrorMessageCode.ProfileCouldNotUpdated, "Profiliniz güncellenemedi.");
                }
                return(layerResult);
            }
        }
예제 #21
0
        /*Yöntem-2*/

        //public EverNoteUser RegisterUser(RegisterViewModel data)
        //{
        //    EverNoteUser user = repo_user.Find(x => x.UserName == data.UserName || x.Email == data.Email);
        //    if (user!=null)
        //    {
        //        throw new Exception("Kayıtlı kullanıcı ya da Eposta adresi.");
        //    }
        //    return user;
        //}


        /*Yöntem-2-Son*/
        public BusinessLayerResult <EverNoteUser> RegisterUser(RegisterViewModel data)
        {
            EverNoteUser user = repo_user.Find(x => x.UserName == data.UserName || x.Email == data.Email);
            BusinessLayerResult <EverNoteUser> res = new BusinessLayerResult <EverNoteUser>();

            if (user != null)
            {
                if (user.UserName == data.UserName)
                {
                    res.AddError(ErrorMessageCode.UserNameAlreadyExist, "Kullanıcı adı kayıtlı.");
                }
                if (user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExist, "E-Posta kayıtlı");
                }
            }
            else
            {
                int dbResult = repo_user.Insert(new EverNoteUser()
                {
                    UserName     = data.UserName,
                    Email        = data.Email,
                    Password     = data.Password,
                    ActivateGuid = Guid.NewGuid(),
                    IsActive     = false,
                    IsAdmin      = false
                });
                if (dbResult > 0)
                {
                    res.Result = repo_user.Find(x => x.Email == data.Email && x.UserName == data.UserName);
                    string siteUri     = ConfigHelper.GeT <string>("SiteRootUri");
                    string activateUri = $"{siteUri}/Home/UserActivate/{res.Result.ActivateGuid}";
                    string body        = $"Merhaba{res.Result.UserName};\n Hesabınızı aktifleştirmek için <a href='{activateUri}' target='_blank'>tıklayınız.</a>";
                    MailHelper.SendMail(body, res.Result.Email, "MyEverNote Hesap Aktifleştirme");
                }
            }
            return(res);
        }
        }                                                                // Kullanıcı giriş yap

        public BusinessLayerResult <EvernoteUser> RemoveUserById(int id) // Kullanıcıyı id'sine göre silme işlemi
        {
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();
            // Kullanıcıc id'sini bulmaya çalışma
            EvernoteUser user = Find(x => x.Id == id);

            // eğer kullanıcı var ise
            if (user != null)
            {
                // Delete işlemi başarısız ise
                if (Delete(user) /*Kullanıcı hem silinir hem döndürdüğü int değer kontol edilir */ == 0)
                {
                    res.AddError(ErrorMessageCode.UserCouldNotRemove, "Kullanıcı silinemedi.");
                    return(res);
                }
            }
            // Kullanıcı bulunamadı ise
            else
            {
                res.AddError(ErrorMessageCode.UserCouldNotFind, "Kullanıcı bulunamadı.");
            }
            return(res);
        }
예제 #23
0
        //Geriye istediğimi dönen bir insert metodu yazıyorum. Method gizleme tekniği kullanıyorum. New ile
        public new BusinessLayerResult <EvernoteUser> Insert(EvernoteUser data)
        {
            //Method Hiding



            EvernoteUser user = Find(x => x.Username == data.Username || x.Email == data.Email); //var mı diye kontrol ettim. Kullanıcı adı mail
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            res.Result = data;

            if (user != null) //varsa aşağıdaki hata mesajları gönderilecek
            {
                if (user.Username == data.Username)
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExist, "Kullanıcı adı kayıtlı.");
                }
                if (user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExist, "E-posta adresi kayıtlı");
                }
            }
            else
            {
                res.Result.ProfileImageFileName = "defaultprofile.png";
                res.Result.ActivateGuid         = Guid.NewGuid();

                //database insert yapacağım burada. Base Classtakini kullan dedim.
                if (base.Insert(res.Result) == 0)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExist, "E-posta adresi kayıtlı");
                }

                ;
            }
            return(res);
        }
예제 #24
0
        public new BusinessLayerResult <EvernoteUser> Update(EvernoteUser data)
        {
            EvernoteUser db_user = Find(x => (x.Username == data.Username || x.Email == data.Email) && x.Id != data.Id);
            BusinessLayerResult <EvernoteUser> blr = new BusinessLayerResult <EvernoteUser>();

            if (db_user != null)
            {
                if (db_user.Username == data.Username)
                {
                    blr.AddError(ErrorCode.UsernameAlreadyExists, "Kullanıcı adı kullanılıyor");
                }

                if (db_user.Email == data.Email)
                {
                    blr.AddError(ErrorCode.EmailAlreadyExists, "E-posta adresi kullanılıyor");
                }

                return(blr);
            }

            blr.Result = Find(x => x.Id == data.Id);

            blr.Result.Username = data.Username;
            blr.Result.Email    = data.Email;
            blr.Result.Name     = data.Name;
            blr.Result.Surname  = data.Surname;
            blr.Result.IsActive = data.IsActive;
            blr.Result.IsAdmin  = data.IsAdmin;
            blr.Result.Password = Crypto.HashPassword(data.Password);

            if (base.Update(blr.Result) == 0)
            {
                blr.AddError(ErrorCode.UserCouldNotUpdated, "Kullanıcı güncellenemedi!");
            }

            return(blr);
        }
예제 #25
0
        public BusinessLayerResult <EvernoteUser> UpdateProfile(EvernoteUser data)
        {
            EvernoteUser user = Find(x => x.Id != data.Id && (x.Username == data.Username || x.Email == data.Email));
            BusinessLayerResult <EvernoteUser> res = new BusinessLayerResult <EvernoteUser>();

            if (user != null && user.Id != data.Id)
            {
                if (user.Username == data.Username)
                {
                    res.AddError(ErrorMessageCode.UsernameAlreadyExists, "Kullanıcı adı daha önce kullanılmış.");
                }
                if (user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCode.EmailAlreadyExists, "E-posta adresi sistemde zaten kayıtlıdır.");
                }

                return(res);
            }

            res.Result          = Find(x => x.Id == data.Id);
            res.Result.Email    = data.Email;
            res.Result.Name     = data.Name;
            res.Result.Surname  = data.Surname;
            res.Result.Password = data.Password;
            res.Result.Username = data.Username;

            if (string.IsNullOrEmpty(data.ProfileImageFileName) == false)
            {
                res.Result.ProfileImageFileName = data.ProfileImageFileName;
            }

            if (base.Update(res.Result) == 0)
            {
                res.AddError(ErrorMessageCode.ProfileCouldNotUpdated, "Profil güncellenemedi.");
            }
            return(res);
        }
예제 #26
0
        public BusinessLayerResult <EvernoteUser> LoginUser(LoginVO data)
        {
            BusinessLayerResult <EvernoteUser> blr = new BusinessLayerResult <EvernoteUser>();

            blr.Result = Find(x => x.Username == data.Username);

            if (blr.Result != null)
            {
                bool verifyPass = Crypto.VerifyHashedPassword(blr.Result.Password, data.Password);

                if (!verifyPass)
                {
                    blr.AddError(ErrorCode.UsernameOrPassWrong, "Kullanıcı adı veya şifre hatalı!");
                }
                else
                {
                    if (!blr.Result.IsActive)
                    {
                        blr.AddError(ErrorCode.UserIsNotActive, "Hesap aktivasyonu yapılmamış!");
                        blr.AddInfo(InfoCode.CheckYourEmail, "Lütfen e-posta adresinizi kontrol ediniz.");

                        string siteUri     = ConfigHelper.Get <string>("SiteRootUri");
                        string activateUri = $"{siteUri}/Home/UserActivate/{blr.Result.ActivateGuid}";
                        string body        = $"Merhaba {blr.Result.Username} <br/><br/> Hesabınızı aktifleştirmek için lütfen <a href ='{activateUri}' target='_bank'>tıklayınız...</a>";

                        MailHelper.SendMail(body, blr.Result.Email, "MyEvernote Hesap Aktivasyonu");
                    }
                }
            }
            else
            {
                blr.AddError(ErrorCode.UsernameOrPassWrong, "Kullanıcı adı veya şifre hatalı!");
            }

            return(blr);
        }
예제 #27
0
        public BusinessLayerResult <EvernoteUser> LoginUser(LoginViewModel loginViewModel)
        {
            // Checking login
            // Is Account Active

            BusinessLayerResult <EvernoteUser> layerResult = new BusinessLayerResult <EvernoteUser>();

            layerResult.Result = Find(x => x.Username == loginViewModel.Username && x.Password == loginViewModel.Password);

            if (layerResult.Result != null)
            {
                if (!layerResult.Result.IsActive)
                {
                    layerResult.AddError(ErrorMessageCode.UserInNotActive, "Kullanıcı aktifleştirilmemiş.");
                    layerResult.AddError(ErrorMessageCode.CheckYourEmail, "Lütfen e-posta adresinizi kontrol ediniz.");
                }
            }
            else
            {
                layerResult.AddError(ErrorMessageCode.UsernameOrPassWrong, "Kullanıcı adı ya da şifre uyuşmuyor.");
            }

            return(layerResult);
        }
        public BusinessLayerResult <EverNoteUser> LoginUser(LoginViewModel data)
        {
            //giriş kontrolü
            //aktif mi?
            BusinessLayerResult <EverNoteUser> res = new BusinessLayerResult <EverNoteUser>();

            res.Result = Find(x => x.Username == data.Username && x.Password == data.Password);


            if (res.Result != null)
            {
                if (!res.Result.IsActive)
                {
                    res.AddError(Entities.Messages.ErrorMessageCode.UserIsNotActive, "Kullanıcı aktif değil. ");

                    res.AddError(Entities.Messages.ErrorMessageCode.CheckYourMail, " Maili kontrol edin");
                }
            }
            else
            {
                res.AddError(Entities.Messages.ErrorMessageCode.UsernameOrPassWrong, "Kullanıcı ya da şifre uyuşmuyor");
            }
            return(res);
        }   //kullanıcı giriş işlemi
        }   //kullanıcı giriş işlemi

        public BusinessLayerResult <EverNoteUser> ActivateUser(Guid activateId)
        {
            BusinessLayerResult <EverNoteUser> res = new BusinessLayerResult <EverNoteUser>();

            res.Result = Find(x => x.ActivateGuid == activateId);

            if (res.Result != null)
            {
                if (res.Result.IsActive)
                {
                    res.AddError(ErrorMessageCode.UserAlreadyActive, "Kullanıcı Zaten Aktif");
                    return(res);
                }

                res.Result.IsActive = true;
                Update(res.Result);
            }
            else
            {
                res.AddError(ErrorMessageCode.ActivateIdDoesNoteExist, "Aktif Kullanıcı Bulunamamıştır");
                return(res);
            }
            return(res);
        } //dogrulama kodu gönderme işlemi
        // Method hiding -> new
        public new BusinessLayerResult <EvernoteUser> Insert(EvernoteUser data)
        // Insert Metounu kendimize göre düzenliyoruz.
        {
            // Girdiğimiz isim veya email veri tabanından bulunuyor
            EvernoteUser user = Find(x => x.UserName == data.UserName || x.Email == data.Email);

            BusinessLayerResult <EvernoteUser> layerResult = new BusinessLayerResult <EvernoteUser>();

            layerResult.Result = data;
            if (user != null)
            {
                if (user.UserName == data.UserName) // Kullanıcı adı var mı
                {
                    // Hata mesajı döndür
                    layerResult.AddError(ErrorMessageCode.UsernameAlreadyExists, "Kullanıcı adı kayıtlı.");
                }

                if (user.Email == data.Email) // Email var mı
                {
                    // Hata mesajı döndür
                    layerResult.AddError(ErrorMessageCode.EmailAlreadyExists, "E-posta adresi kayıtlı.");
                }
            }

            else
            {
                layerResult.Result.ProfileImageFilename = "user.jpg";

                layerResult.Result.ActivateGuid = Guid.NewGuid();
                if (base.Insert(layerResult.Result) == 0)
                {
                    layerResult.AddError(ErrorMessageCode.UserCountNotInserted, "Kullanıcı eklenemedi");
                }
            }
            return(layerResult);
        }