public async Task <IActionResult> Add(Subcategory subcat)
        {
            if (ModelState.IsValid)
            {
                //using (_db)
                //{
                string   categoryName = Request.Form["CategoryName"].ToString();
                Category category     = await _db.Categories.Where(c => c.Name == categoryName).FirstOrDefaultAsync();

                Subcategory subcategory = new Subcategory();
                subcategory.Name       = subcat.Name;
                subcategory.Category   = category;
                subcategory.CategoryId = category.Id;
                await _db.AddAsync(subcategory);

                await _db.SaveChangesAsync();

                //}
                return(RedirectToAction(nameof(List)));
            }
            else
            {
                ModelState.AddModelError("", "Something is wrong!");
                return(View());
            }
        }
        public async Task <IActionResult> Reply(int id, [FromServices] EmailService service)
        {
            var user = await db.Connects.Where(u => u.Id == id).FirstOrDefaultAsync();

            var replyText = Request.Form["ReplyText"].ToString();

            if (user.Email == "")
            {
                ModelState.AddModelError("", "User Mail duzgun deyil");
                return(View());
            }

            if (replyText == "")
            {
                ModelState.AddModelError("", "Reply duzgun deyil");
                return(View());
            }

            await service.SendMailAsync(user.Email, "E-VEKIL.AZ INFO", replyText);

            user.Status = true;
            await db.SaveChangesAsync();

            return(RedirectToAction(nameof(List)));
        }
        public async Task <IActionResult> Add(Document document)
        {
            if (ModelState.IsValid)
            {
                string filename = "";

                if (document.File.ContentType == "application/vnd.openxmlformats-officedocument.wordprocessingml.document" || document.File.ContentType == "application/msword")
                {
                    if (!document.IsTemplated)
                    {
                        filename = Guid.NewGuid() + document.File.FileName;
                    }
                    else
                    {
                        filename = "Sablon" + Guid.NewGuid() + document.File.FileName;
                    }
                    string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", filename);
                    using (FileStream fs = new FileStream(path, FileMode.Create))
                    {
                        document.File.CopyTo(fs);
                    }
                }

                var      advocatename = Request.Form["advocates"].ToString();
                Advocate advocate     = await _db.Advocates.Where(x => x.Email == advocatename).FirstOrDefaultAsync();

                var         categoryid = Int32.Parse(Request.Form["categories"].ToString());
                Subcategory subc       = await _db.Subcategories.Where(x => x.Id == categoryid).FirstOrDefaultAsync();

                List <string> tags = document.Tags.Split(',').ToList();

                if (tags != null)
                {
                    var count = 0;
                    foreach (var tag in tags)
                    {
                        Tags t = new Tags();
                        t.Tagname  = tags[count];
                        t.Document = document;
                        await _db.Tags.AddAsync(t);

                        count++;
                    }
                }
                document.Subcategory = subc;
                document.Advocate    = advocate;
                document.FileName    = filename;
                document.Date        = DateTime.Now;
                await _db.Documents.AddAsync(document);

                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(List)));
            }
            else
            {
                return(View());
            }
        }
示例#4
0
        public async Task <IActionResult> List()
        {
            //using (_db)
            //{
            List <Comment> Comments = await _db.Comments.Include(x => x.User).Include(x => x.Document).OrderByDescending(x => x.Id).ToListAsync();

            //}

            foreach (var comment in Comments)
            {
                comment.IsViewed = true;
                await _db.SaveChangesAsync();
            }
            return(View(Comments));
        }
示例#5
0
        public async Task <IActionResult> List(int page = 1)
        {
            List <User> users;

            //using (_db)
            //{
            users = await _db.Users.Skip((page - 1) *10).Take(10).OrderByDescending(x => x.RegisterDate).ToListAsync();

            //List<string> userRoles = null;

            foreach (var user in users)
            {
                user.IsViewed = true;
                await _db.SaveChangesAsync();
            }

            foreach (var user in users)
            {
                var roles = await _db.UserRoles.Where(x => x.UserId == user.Id).ToListAsync();

                int i = 1;
                foreach (var r in roles)
                {
                    var role = await _db.Roles.Where(x => x.Id == r.RoleId).FirstOrDefaultAsync();

                    //userRoles.Add(role.Name.ToString());

                    if (i == 1)
                    {
                        user.Roles = role.Name;
                    }
                    else
                    {
                        user.Roles += $",{role.Name}";
                    }
                    i++;
                }

                //user.Roles = string.Join(",", userRoles);
            }

            ViewBag.UserTotal = Math.Ceiling(_db.Users.Count() / 10.0);
            ViewBag.UserPage  = page;

            //}
            return(View(users));
        }
示例#6
0
        public async Task <IActionResult> SendReview(Comment cm, [FromServices] EmailService service)
        {
            User user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return(Content("Siz daxil olmamısınız!"));
            }

            int      documentId = Convert.ToInt32(Request.Form["DocumentId"]);
            Document doc        = await _db.Documents.Where(d => d.Id == documentId).Include(d => d.Advocate).Include(d => d.Subcategory).ThenInclude(d => d.Category).FirstOrDefaultAsync();

            Comment comment = new Comment();

            comment.Document   = doc;
            comment.DocumentId = documentId;
            comment.Text       = cm.Text;
            comment.Date       = DateTime.Now;
            comment.User       = user;
            //string username = HttpContext.Session.GetString("id");
            //if (username != null)
            //{
            //    User user = await _db.Users.Where(u => u.Id == username).FirstOrDefaultAsync();
            //    comment.User = user;
            //}

            comment.Status = false;
            if (ModelState.IsValid)
            {
                await _db.Comments.AddAsync(comment);

                await _db.SaveChangesAsync();

                var message = $@"Istifadəçi : {HttpContext.Session.GetString("name")} 
Sənədin Adı:{doc.Name} 
 Comment:{comment.Text}";
                await service.SendMailAsync("*****@*****.**", "NEW COMMENT", message);

                return(RedirectToAction("DocumentDesc", new { id = doc.Id }));
            }
            else
            {
                ModelState.AddModelError("", "Sehv Bash Verdi");
                return(View());
            }
        }
        public async Task <IActionResult> Add(Category cat)
        {
            if (ModelState.IsValid)
            {
                //using (_db)
                //{
                Category category = new Category();
                category.Name        = cat.Name;
                category.Description = cat.Description;
                category.Visibilty   = cat.Visibilty;
                await _db.AddAsync(category);

                await _db.SaveChangesAsync();

                //}
                return(RedirectToAction(nameof(List)));
            }
            else
            {
                ModelState.AddModelError("", "Something is wrong!");
                return(View());
            }
        }
示例#8
0
        public async Task <IActionResult> List()
        {
            List <PurchasedDocument> Downloads;

            //using (_db)
            //{
            Downloads = await _db.PurchasedDocuments.Include(x => x.User).Include(x => x.Document).OrderByDescending(x => x.Date).ToListAsync();

            //}

            foreach (var download in Downloads)
            {
                download.IsViewed = true;
                await _db.SaveChangesAsync();
            }

            return(View(Downloads));
        }
        public async Task <IActionResult> Details(DetailsViewModel rvm)
        {
            //string userid = HttpContext.Session.GetString("id");
            //User user = await _db.Users.Where(x => x.Id == userid).FirstOrDefaultAsync();
            User user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return(Content("Siz daxil olmamısınız."));
            }
            else
            {
                string ispassword = Request.Form["changepassword"].ToString();
                if (ispassword == "true")
                {
                    if (ModelState.IsValid)
                    {
                        //user.PasswordHash = AppUserManager.PasswordHasher.HashPassword(usermodel.Password);
                        //var result = await AppUserManager.UpdateAsync(user);


                        //var result = await _userManager.RemovePasswordAsync(user);
                        //if (result.Succeeded)
                        //{
                        //    result = await _userManager.AddPasswordAsync(user, rvm.Password);
                        //    if (result.Succeeded)
                        //    {
                        //        return RedirectToAction(nameof(Home));
                        //    }
                        //    else
                        //    {
                        //        //ModelState.AddModelError("", result.Errors.FirstOrDefault().ToString());
                        //        return View(rvm);
                        //    }
                        //}
                        //else return Content("Nə isə səhv getdi...");

                        var result = await _userManager.ChangePasswordAsync(user, rvm.OldPassword, rvm.Password);

                        if (result.Succeeded)
                        {
                            return(RedirectToAction(nameof(Home)));
                        }
                        else
                        {
                            foreach (var item in result.Errors)
                            {
                                ModelState.AddModelError("", item.Description);
                            }
                            return(View(rvm));
                        }
                    }
                    else
                    {
                        return(View(rvm));
                    }
                }
                else
                {
                    if (ModelState.IsValid)
                    {
                        user.Name               = rvm.Name;
                        user.Surname            = rvm.Surname;
                        user.UserName           = rvm.Username;
                        user.NormalizedUserName = rvm.Username.ToUpper();
                        user.Email              = rvm.Email;
                        user.NormalizedEmail    = rvm.Email.ToUpper();

                        await _db.SaveChangesAsync();

                        return(RedirectToAction(nameof(Home)));
                    }
                    else
                    {
                        return(View(rvm));
                    }
                }
            };
        }