Пример #1
0
        public ActionResult Login(LoginViewModel model)
        {
            //Session'a bilgi saklama
            DataContext     db   = new DataContext();
            UserCredentials user = db.UserCredentials.FirstOrDefault(x => x.UserName == model.UserName);
            bool            flag = true;

            if (ModelState.IsValid)
            {
                if (user == null)
                {
                    ModelState.AddModelError("", "Hatalı kullanıcı adı veya şifre.");
                    flag = false;
                    return(View(model));
                }
                if (Crypto.VerifyHashedPassword(model.Password, user.UserPass))
                {
                    ModelState.AddModelError("", "Hatalı kullanıcı adı veya şifre.");
                    flag = false;
                }
                if (user.IsActive == false)
                {
                    ModelState.AddModelError("", "Hesap henüz aktif değil.");
                    flag = false;
                }
                if (flag == false)
                {
                    return(View(model));
                }
            }

            Session["Login"] = user;

            return(RedirectToAction("Index"));
        }
Пример #2
0
        public ActionResult Entries(CommentViewModel model)
        {
            DataContext     db   = new DataContext();
            UserCredentials user = new UserCredentials();

            user = Session["Login"] as UserCredentials;
            Comments comment = new Comments();

            comment.Description = model.Comment.Description;
            comment.UserId      = user.ID;
            comment.EntryId     = model.Entries.ID;
            comment.UploadDate  = DateTime.Now;
            //var dtoComments = db.Comments.Where(x => x.EntryId == model.Comment.EntryId).Select(p => new CommentsDTO()
            //{
            //    UserName = p.,
            //    Description = p.Description,
            //    CreatedDate = p.CreatedDate,
            //    CategoryName = p.Category.Category
            //})


            if (string.IsNullOrEmpty(model.Comment.Description))
            {
                ModelState.AddModelError("", "Boş bir yorum ekleyemezsiniz!");
            }
            else
            {
                db.Comments.Add(comment);
                db.SaveChanges();
            }
            return(RedirectToAction("Entries", new { id = model.Entries.ID }));
        }
Пример #3
0
        public JsonResult DenemeEntry(EntriesViewModel model)
        {
            DataContext db    = new DataContext();
            Entries     entry = new Entries();
            var         desc  = model.Entries.Description; //This is for edit text that we take from user for a better view

            desc = desc.Replace("\\n", "");
            int len = desc.Length - 2;

            desc = desc.Substring(1, len);
            UserCredentials user = new UserCredentials();

            user = Session["Login"] as UserCredentials;
            if (ModelState.IsValid)
            {
                entry.CategoryId  = model.Entries.CategoryId;
                entry.Title       = model.Entries.Title;
                entry.Description = desc;
                entry.CreatedDate = DateTime.Now;
                entry.UserId      = user.ID;
                db.Entries.Add(entry);

                db.SaveChanges();
            }

            return(Json("200"));
        }
Пример #4
0
        public ActionResult EditProfile(int id)
        {
            DataContext       db         = new DataContext();
            UserCredentials   user       = db.UserCredentials.FirstOrDefault(x => x.ID == id);
            List <Categories> categories = db.Categories.ToList();

            ViewBag.CatergoryList = categories;

            return(View(user));
        }
Пример #5
0
        public ActionResult RemoveProfile(LoginViewModel model)
        {
            DataContext     db   = new DataContext();
            UserCredentials user = db.UserCredentials.FirstOrDefault(x => x.UserName == model.UserName);

            user            = Session["Login"] as UserCredentials;
            user.IsArchived = true;
            db.SaveChanges();
            Session.Clear();
            return(RedirectToAction("Index"));
        }
Пример #6
0
        public ActionResult ShowProfile(LoginViewModel model)
        {
            DataContext     db   = new DataContext();
            UserCredentials user = db.UserCredentials.FirstOrDefault(x => x.UserName == model.UserName);

            user = Session["Login"] as UserCredentials;
            List <Categories> categories = db.Categories.ToList();

            ViewBag.CatergoryList = categories;

            return(View(user));
        }
Пример #7
0
        public ActionResult PostEntry(EntriesViewModel model)
        {
            DataContext       db         = new DataContext();
            List <Categories> categories = db.Categories.ToList();

            ViewBag.CatergoryList = categories;
            UserCredentials user = new UserCredentials();

            user = Session["Login"] as UserCredentials;
            Entries entryUserId = new Entries();

            return(View());
        }
Пример #8
0
        public ActionResult Register(RegisterViewModel model)
        {
            //Aktivasyon E-postası gönderimi
            DataContext     db      = new DataContext();
            UserCredentials regUser = db.UserCredentials.FirstOrDefault(x => x.UserName == model.Username || x.UserMail == model.Email);
            bool            flag    = true;

            if (ModelState.IsValid)
            {
                if (regUser == null)
                {
                    UserCredentials user = new UserCredentials();
                    user.UserName = model.Username;
                    user.UserMail = model.Email;
                    string cryptedPass = Crypto.HashPassword(model.Password);
                    user.UserPass     = cryptedPass;
                    user.IsAdmin      = false;
                    user.IsActive     = false;
                    user.ProfileImage =
                        @"..\images\profile image.png";
                    user.ActiveGuid = Guid.NewGuid();
                    db.UserCredentials.Add(user);
                    db.SaveChanges();
                    Session["Login"] = user.UserName;
                    SendVerificationMail(user);

                    return(RedirectToAction("RegisterOK"));
                }
                if (model.Username == regUser.UserName)
                {
                    ModelState.AddModelError("", "Bu kullanıcı adı veya e-posta adresi zaten kullanımda.");
                    flag = false;
                }

                else if (model.Email == regUser.UserMail)
                {
                    ModelState.AddModelError("", "Bu kullanıcı adı veya e-posta adresi zaten kullanımda.");
                    flag = false;
                }

                if (flag == false)
                {
                    return(View(model));
                }
            }

            return(View(model));
        }
Пример #9
0
        public ActionResult UserActivation(Guid?id)
        {
            DataContext     db   = new DataContext();
            UserCredentials user = db.UserCredentials.FirstOrDefault(x => x.ActiveGuid == id);

            if (id == user.ActiveGuid)
            {
                user.IsActive = true;
                db.SaveChanges();
            }
            else
            {
                return(View());
            }


            return(View());
        }
Пример #10
0
        private void SendVerificationMail(UserCredentials model)
        {
            DataContext     db             = new DataContext();
            UserCredentials user           = db.UserCredentials.FirstOrDefault(x => x.UserName == model.UserName || x.UserMail == model.UserMail);
            Guid            guid           = (Guid)user.ActiveGuid;
            var             senderEmail    = new MailAddress("*****@*****.**", "");
            var             receivereEmail = new MailAddress(user.UserMail, "Receiver");
            var             password       = "******";
            var             body           = "Activation link: https://localhost:44329/Home/UserActivation/" + guid.ToString();
            var             sub            = "Welcome to Daily Blog";
            var             smtp           = new SmtpClient
            {
                Host                  = "smtp.gmail.com",
                Port                  = 587,
                EnableSsl             = true,
                DeliveryMethod        = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials           = new System.Net.NetworkCredential("*****@*****.**", password),
            };

            smtp.Send(senderEmail.ToString(), receivereEmail.ToString(), sub, body);
        }
Пример #11
0
        public ActionResult EditProfile(UserCredentials model, HttpPostedFileBase file)
        {
            //BİR DAHA BİLMEDİĞİM ŞEYLERİ SORMADAN KULLANMIYACAĞIM
            DataContext       db         = new DataContext();
            UserCredentials   user       = db.UserCredentials.FirstOrDefault(x => x.ID == model.ID);
            List <Categories> categories = db.Categories.ToList();

            model = user;
            ViewBag.CatergoryList = categories;

            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    var size = file.ContentLength;          //Checking image size
                    var type = file.ContentType;
                    if (file.ContentLength > 2097152)
                    {
                        ModelState.AddModelError("", "Dosya boyutu 2mb'dan büyük olamaz.");
                        return(View(model));
                    }
                    if ((file.ContentType).ToString() != "image/png" && (file.ContentType).ToString() != "image/jpeg")
                    {
                        ModelState.AddModelError("", "Yanlış Format");
                        return(View(model));
                    }

                    //Get width and height
                    System.IO.Stream     stream = file.InputStream;
                    System.Drawing.Image img    = System.Drawing.Image.FromStream(stream);
                    Image profImage             = ResizeImage(img);
                    //saving image name
                    string fileName = $"user_{model.ID}.{file.ContentType.Split('/')[1]}";
                    profImage.Save(Server.MapPath($"~/images/{fileName}"), ImageFormat.Jpeg);
                    model.ProfileImage = fileName;
                }
                // Construct the viewmodel
                user.UserName = model.UserName;
                string cryptedPass = Crypto.HashPassword(model.UserPass);
                user.UserPass     = cryptedPass;
                user.UserMail     = model.UserMail;
                user.ProfileImage = model.ProfileImage;
                try
                {
                    db.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    foreach (var entityValidationErrors in ex.EntityValidationErrors)
                    {
                        foreach (var validationError in entityValidationErrors.ValidationErrors)
                        {
                            ModelState.AddModelError("", "Yanlış Format");
                            return(View(model));
                        }
                    }
                }
            }

            return(RedirectToAction("ShowProfile"));
        }