public ActionResult EditProfile(KeepITUser model, HttpPostedFileBase ProfileImage)
        {
            if (ModelState.IsValid)
            {
                if (ProfileImage != null && (ProfileImage.ContentType == "image/jpeg" || ProfileImage.ContentType == "image/jpg" || ProfileImage.ContentType == "image/png"))
                {
                    string filename = $"user_{model.Id}.{ProfileImage.ContentType.Split('/')[1]}";
                    ProfileImage.SaveAs(Server.MapPath($"~/images/{filename}"));
                    model.ProfilePhotoPath = filename;
                }

                KeepITUserManager kum = new KeepITUserManager();
                BusinessLayerResult <KeepITUser> res = kum.UpdateProfile(model);

                if (res.Errors.Count > 0)
                {
                    ErrorViewModel errorNotify = new ErrorViewModel()
                    {
                        Items              = res.Errors,
                        Title              = "Profil Güncellenemedi.",
                        RedirectingUrl     = "/Home/EditProfile",
                        RedirectingTimeout = 5000
                    };
                    return(View("Error", errorNotify));
                }

                // Profil güncellendiği için session güncellendi.
                Session["login"] = res.Result;

                return(RedirectToAction("ShowProfile"));
            }
            return(View(model));
        }
Example #2
0
        public void DeleteTest()
        {
            KeepITUser user = repo_user.Find(x => x.Username == "test_updated_alidogan");

            if (user != null)
            {
                int result = repo_user.Delete(user);
            }
        }
Example #3
0
        public string GetCurrentUsername()
        {
            if (HttpContext.Current.Session["login"] != null)
            {
                KeepITUser user = HttpContext.Current.Session["login"] as KeepITUser;
                return(user.Username);
            }

            return("system");
        }
        public BusinessLayerResult <KeepITUser> RegisterUser(RegisterViewModel data)
        {
            // User ve Eposta kontrolü
            // Kayıt işlemi...
            // Aktivasyon epostası gönderimi
            KeepITUser user = repo_user.Find(x => x.Username == data.Username || x.Email == data.Email);
            BusinessLayerResult <KeepITUser> res = new BusinessLayerResult <KeepITUser>();

            if (user != null)
            {
                if (user.Username == data.Username)
                {
                    res.AddError(ErrorMessageCodes.UsernameAlreadyExists, "Kullanıcı adı kayıtlı.");
                }

                if (user.Email == data.Email)
                {
                    res.AddError(ErrorMessageCodes.EmailAlreadyExists, "E-posta adresi kayıtlı.");
                }
            }
            else
            {
                int dbresult = repo_user.Insert(new KeepITUser()
                {
                    Username         = data.Username,
                    Email            = data.Email,
                    Password         = data.Password,
                    ProfilePhotoPath = null,
                    ActivateGuid     = Guid.NewGuid(),
                    IsActive         = false,
                    IsAdmin          = false
                });
                if (dbresult > 0)
                {
                    res.Result = repo_user.Find(x => x.Email == data.Email && x.Username == data.Username);

                    // TODO: aktivasyon maili atılacak..
                    //layerResult.Result.ActivateGuid;

                    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>.";
                    string to          = res.Result.Email;
                    string subject     = "KeepIT Hesap Aktifleştirme";

                    MailHelper.SendMail(body, to, subject);
                }
            }
            return(res);
        }
Example #5
0
        public void CommentTest()
        {
            KeepITUser user = repo_user.Find(x => x.Id == 1);
            Note       note = repo_note.Find(x => x.Id == 3);

            Comment comment = new Comment()
            {
                Text             = "Bu bir testtir.",
                CreatedOn        = DateTime.Now,
                ModifiedOn       = DateTime.Now,
                ModifiedUsername = "******",
                Note             = note,
                Owner            = user
            };

            repo_comment.Insert(comment);
        }
        public ActionResult EditProfile()
        {
            KeepITUser        currentUser        = Session["login"] as KeepITUser;
            KeepITUserManager kum                = new KeepITUserManager();
            BusinessLayerResult <KeepITUser> res = kum.GetUserById(currentUser.Id);

            if (res.Errors.Count > 0)
            {
                ErrorViewModel errorNotify = new ErrorViewModel()
                {
                    Title = "Bir Hata Oluştu.",
                    Items = res.Errors
                };
                return(View("Error", errorNotify));
            }
            return(View(res.Result));
        }
        public BusinessLayerResult <KeepITUser> RemoveUserById(int id)
        {
            BusinessLayerResult <KeepITUser> res = new BusinessLayerResult <KeepITUser>();
            KeepITUser user = repo_user.Find(x => x.Id == id);

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

            return(res);
        }
        public BusinessLayerResult <KeepITUser> UpdateProfile(KeepITUser data)
        {
            KeepITUser db_user = repo_user.Find(x => x.Id != data.Id && (x.Username == data.Username || x.Email == data.Email));
            BusinessLayerResult <KeepITUser> res = new BusinessLayerResult <KeepITUser>();

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

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

            res.Result          = repo_user.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.ProfilePhotoPath) == false)
            {
                res.Result.ProfilePhotoPath = data.ProfilePhotoPath;
            }

            if (repo_user.Update(res.Result) == 0)
            {
                res.AddError(ErrorMessageCodes.ProfileCouldNotUpdated, "Profil güncellenemedi.");
            }

            return(res);
        }
        public ActionResult DeleteProfile()
        {
            KeepITUser        currentUser        = Session["login"] as KeepITUser;
            KeepITUserManager kum                = new KeepITUserManager();
            BusinessLayerResult <KeepITUser> res = kum.RemoveUserById(currentUser.Id);

            if (res.Errors.Count > 0)
            {
                ErrorViewModel errorNotifyObj = new ErrorViewModel()
                {
                    Items              = res.Errors,
                    Title              = "Profil Silinemedi.",
                    RedirectingUrl     = "/Home/ShowProfile",
                    RedirectingTimeout = 5000
                };

                return(View("Error", errorNotifyObj));
            }

            Session.Clear();

            return(RedirectToAction("Index"));
        }
        protected override void Seed(DatabaseContext context)
        {
            base.Seed(context);
            KeepITUser admin = new KeepITUser()
            {
                Name             = "Ali",
                Surname          = "Doğan",
                Email            = "*****@*****.**",
                ActivateGuid     = Guid.NewGuid(),
                IsActive         = true,
                IsAdmin          = true,
                Username         = "******",
                ProfilePhotoPath = null,
                Password         = "******",
                CreatedOn        = DateTime.Now,
                ModifiedOn       = DateTime.Now.AddMinutes(5),
                ModifiedUsername = "******"
            };

            KeepITUser standartUser = new KeepITUser()
            {
                Name             = "Ali",
                Surname          = "Doğan",
                Email            = "*****@*****.**",
                ActivateGuid     = Guid.NewGuid(),
                IsActive         = true,
                IsAdmin          = false,
                Username         = "******",
                ProfilePhotoPath = null,
                Password         = "******",
                //ProfileImageFilename = "user_boy.png",
                CreatedOn        = DateTime.Now.AddHours(1),
                ModifiedOn       = DateTime.Now.AddMinutes(65),
                ModifiedUsername = "******"
            };

            context.KeepITUsers.Add(admin);
            context.KeepITUsers.Add(standartUser);

            for (int i = 0; i < 8; i++)
            {
                KeepITUser user = new KeepITUser()
                {
                    Name             = FakeData.NameData.GetFirstName(),
                    Surname          = FakeData.NameData.GetSurname(),
                    Email            = FakeData.NetworkData.GetEmail(),
                    ProfilePhotoPath = null,
                    ActivateGuid     = Guid.NewGuid(),
                    IsActive         = true,
                    IsAdmin          = false,
                    Username         = $"user{i}",
                    Password         = "******",
                    CreatedOn        = FakeData.DateTimeData.GetDatetime(DateTime.Now.AddYears(-1), DateTime.Now),
                    ModifiedOn       = FakeData.DateTimeData.GetDatetime(DateTime.Now.AddYears(-1), DateTime.Now),
                    ModifiedUsername = $"user{i}"
                };

                context.KeepITUsers.Add(user);
            }

            context.SaveChanges();

            // User list for using..
            List <KeepITUser> userlist = context.KeepITUsers.ToList();

            // Adding fake categories..
            for (int i = 0; i < 10; i++)
            {
                Category cat = new Category()
                {
                    Title            = FakeData.PlaceData.GetStreetName(),
                    Description      = FakeData.PlaceData.GetAddress(),
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******"
                };

                context.Categories.Add(cat);

                // Adding fake notes..
                for (int k = 0; k < FakeData.NumberData.GetNumber(5, 9); k++)
                {
                    KeepITUser owner = userlist[FakeData.NumberData.GetNumber(0, userlist.Count - 1)];

                    Note note = new Note()
                    {
                        Title            = FakeData.TextData.GetAlphabetical(FakeData.NumberData.GetNumber(5, 25)),
                        Text             = FakeData.TextData.GetSentences(FakeData.NumberData.GetNumber(1, 3)),
                        IsDraft          = false,
                        LikeCount        = FakeData.NumberData.GetNumber(1, 9),
                        Owner            = owner,
                        CreatedOn        = FakeData.DateTimeData.GetDatetime(DateTime.Now.AddYears(-1), DateTime.Now),
                        ModifiedOn       = FakeData.DateTimeData.GetDatetime(DateTime.Now.AddYears(-1), DateTime.Now),
                        ModifiedUsername = owner.Username,
                    };

                    cat.Notes.Add(note);

                    // Adding fake comments
                    for (int j = 0; j < FakeData.NumberData.GetNumber(3, 5); j++)
                    {
                        KeepITUser comment_owner = userlist[FakeData.NumberData.GetNumber(0, userlist.Count - 1)];

                        Comment comment = new Comment()
                        {
                            Text             = FakeData.TextData.GetSentence(),
                            Owner            = comment_owner,
                            CreatedOn        = FakeData.DateTimeData.GetDatetime(DateTime.Now.AddYears(-1), DateTime.Now),
                            ModifiedOn       = FakeData.DateTimeData.GetDatetime(DateTime.Now.AddYears(-1), DateTime.Now),
                            ModifiedUsername = comment_owner.Username
                        };

                        note.Comments.Add(comment);
                    }

                    // Adding fake likes..

                    for (int m = 0; m < note.LikeCount; m++)
                    {
                        Liked liked = new Liked()
                        {
                            LikedUser = userlist[m]
                        };

                        note.Likes.Add(liked);
                    }
                }
            }

            context.SaveChanges();
        }