Ignore:
Timestamp:
08/29/24 20:27:21 (3 months ago)
Author:
ElenaMoskova <elena.moskova99@…>
Branches:
main
Children:
99d0ecc
Parents:
a850333
Message:

fix issues

fix bugs with nested tables
fix delete nested fk items

Location:
PostgreSqlDotnetCore/Controllers
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • PostgreSqlDotnetCore/Controllers/BlogController.cs

    ra850333 re90ba32  
    6060
    6161            // Список на блог постови
    62             var blogPosts = await db.BlogPostControllerObj.ToListAsync();
     62            var blogPosts = await db.BlogUsers.ToListAsync();
    6363
    6464            // Вземи тековниот корисник
     
    105105            blogClass.BlogPostAnswers = blogAnswers;
    106106            ViewBag.OnlyAdminManager = await checkAuthorizationSpecificRoleAsync(RoleConstants.Admin) ?? await checkAuthorizationSpecificRoleAsync(RoleConstants.Manager);
     107            ViewBag.CurrentUserId = customerClass?.id;
    107108            return View(blogClass);
    108109        }
     
    301302        // POST: Customer/Delete/5
    302303
     304        /*
     305                [HttpPost, ActionName("Delete")]
     306                [ValidateAntiForgeryToken]
     307                public ActionResult DeleteConfirmed(int id)
     308                {
     309                    BlogPostConsultation blogClass = db.BlogPostControllerObj.Find(id);
     310                    db.BlogPostControllerObj.Remove(blogClass);
     311                    db.SaveChanges();
     312                    return RedirectToAction("Index");
     313                }
     314                */
    303315
    304316        [HttpPost, ActionName("Delete")]
     
    306318        public ActionResult DeleteConfirmed(int id)
    307319        {
     320            // Наоѓање на објектот по ID
    308321            BlogPostConsultation blogClass = db.BlogPostControllerObj.Find(id);
     322
     323            // Проверка дали објектот е пронајден
     324            if (blogClass == null)
     325            {
     326                // Ако објектот не е пронајден, враќаме 404 Not Found или друга соодветна акција
     327                return View(null);
     328            }
     329            //  prvo izbrisi gi site odgovori po sot BlogId e primaren kluc vo drugata tabela
     330
     331            // query
     332            var query = from st in db.BlogPostAnswersObj
     333                        where st.BlogPostConsultationid == blogClass.id
     334                        select st;
     335            //elenaaa
     336            var blogAnswers = query.ToList();
     337            foreach (BlogPostAnswers answerClass in blogAnswers)
     338            {
     339                db.BlogPostAnswersObj.Remove(answerClass);
     340                db.SaveChanges();
     341
     342            }
     343
     344            // Отстранување на објектот ако е пронајден
    309345            db.BlogPostControllerObj.Remove(blogClass);
    310346            db.SaveChanges();
     347
     348            // Пренасочување на корисникот кон Index страницата
    311349            return RedirectToAction("Index");
    312350        }
    313        
     351
    314352        // GET: Customer/Delete/5
    315353        // GET: Customer/Delete/5
    316354        // GET: Customer/Delete/5
    317    
     355
    318356
    319357
  • PostgreSqlDotnetCore/Controllers/BlogPostAnswersController.cs

    ra850333 re90ba32  
    155155        public ActionResult Edit([Bind(include: "id,parent_id,reply,root_post,usersID")] BlogPostAnswers answerClass)
    156156        {
    157             if (ModelState.IsValid)
    158             {
    159                 db.Entry(answerClass).State = EntityState.Modified;
     157
     158            BlogPostAnswers answerClassDB = db.BlogPostAnswersObj.Find(answerClass.id);
     159            if (answerClassDB != null && !answerClassDB.reply.Equals(answerClass.reply))
     160            {
     161                answerClassDB.reply = answerClass.reply;
     162                answerClassDB.parent_id = answerClass.parent_id;
     163                db.Entry(answerClassDB).State = EntityState.Modified;
    160164                db.SaveChanges();
    161                 return RedirectToAction("Index");
    162             }
    163             return View(answerClass);
     165                //return RedirectToAction("Index");
     166                int id = answerClassDB.BlogPostConsultationid;
     167                return RedirectToAction("Details", "Blog", new { id });
     168            }
     169            return View(answerClassDB);
    164170        }
    165171
  • PostgreSqlDotnetCore/Controllers/PetCaresController.cs

    ra850333 re90ba32  
    5757        {
    5858            // check for permission
     59            bool isAuthenticated = User.Identity.IsAuthenticated;
    5960            UsersClass customerClass = await getCrrentUser();
    6061            // set if is authenticated
     
    7576
    7677                var userPetCares =
    77                     await query.ToListAsync<Pet_CaresClass>();
     78                    await query.Include(n => n.PetsClass).ToListAsync<Pet_CaresClass>();
    7879
    7980                return View(userPetCares);
     
    8182            else
    8283            {
    83                 return View(db.PetCaresObj.ToList());
     84                return View(db.PetCaresObj.Include(n => n.PetsClass).ToList());
    8485            }
    8586
     
    280281
    281282        // POST: Customer/Delete/5
     283        /*  [HttpPost, ActionName("Delete")]
     284          [ValidateAntiForgeryToken]
     285          public ActionResult DeleteConfirmed(int id)
     286          {
     287              Pet_CaresClass peClass = db.PetCaresObj.Find(id);
     288              db.PetCaresObj.Remove(peClass);
     289              db.SaveChanges();
     290              return RedirectToAction("Index");
     291          }
     292        */
     293
    282294        [HttpPost, ActionName("Delete")]
    283295        [ValidateAntiForgeryToken]
    284         public ActionResult DeleteConfirmed(int id)
    285         {
    286             Pet_CaresClass peClass = db.PetCaresObj.Find(id);
     296        public async Task<ActionResult> DeleteConfirmed(int id)
     297        {
     298            Pet_CaresClass peClass = await db.PetCaresObj.FindAsync(id);
     299            if (peClass == null)
     300            {
     301                return RedirectToAction("NotExist", "Error");
     302            }
    287303            db.PetCaresObj.Remove(peClass);
    288             db.SaveChanges();
     304            await db.SaveChangesAsync();
    289305            return RedirectToAction("Index");
    290306        }
Note: See TracChangeset for help on using the changeset viewer.