예제 #1
0
        public async Task <IActionResult> Article(int id)
        {
            ArticleModel model = (ArticleModel)await VirtualBD.GetFromVirtualDBAsync(id, "Article");

            if (model == null)
            {
                return(RedirectToAction("Error", "Home"));
            }

            model.Viev++;
            try
            {
                db.Articles.Update(model);
                await db.SaveChangesAsync();

                VirtualBD.UpdateInVirtualDBAsync(model);
            }

            catch (Exception e)
            {
                _logger.LogError("LogError {0}", DateTime.Now.ToString() + "==>" + e.Message);
            }
            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> UserProfil(UserProfilUpdate model)
        {
            if (User.Identity.IsAuthenticated)
            {
                User user = (User)await VirtualBD.GetFromVirtualDBAsync(User.Identity.Name);

                user.Name = model?.Name;

                if (model.Login != null)
                {
                    var obj = VirtualBD.Articles.FindAll(x => x.Creator == user.Email);
                    for (int i = 0; i < obj.Count; i++)
                    {
                        obj[i].Creator = model.Login; VirtualBD.UpdateInVirtualDBAsync(obj[i]); db.Articles.Update(obj[i]);
                    }


                    var obj2 = VirtualBD.Comments.FindAll(x => x.Creator == user.Email);
                    for (int i = 0; i < obj2.Count; i++)
                    {
                        obj2[i].Creator = model.Login; VirtualBD.UpdateInVirtualDBAsync(obj2[i]); db.Comments.Update(obj2[i]);
                    }

                    user.Email = model.Login;
                }

                user.Sex = model.Sex;

                user.BD = model?.BD;

                user.Password = user?.Password;

                if (model.uploadedFile != null)
                {
                    string patch = "/UserIcon/" + model.uploadedFile.FileName;
                    await templateMetod.UploadFileAsync(patch, model.uploadedFile, _appEnvironment);

                    user.Image = patch;
                }
                try
                {
                    db.Users.Update(user);
                    await db.SaveChangesAsync();

                    VirtualBD.UpdateInVirtualDBAsync(user);
                }
                catch (Exception e)
                {
                    _logger.LogError("LogError {0}", DateTime.Now.ToString() + "==>" + e.Message);
                }
                if (model.Login != null)
                {
                    return(RedirectToAction("Logout", "Account"));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }