老师叫我讲一下这段代码是什么意思,但是我刚接触,有大神可以解释一下这段代码什么意思吗?

public ActionResult Edit(House house)

        {

            if (ModelState.IsValid)

            {

                int id = house.HouseId ?? -1;

                bool ret = false;

                var manager = new HouseManager();

                if (id > 0)

                {

                    ret = manager.Update(house);

                }

                else

                {

                    house.PublishUserId = (Session["admin"] as User).LoginId;

 

                    ret = manager.Add(house);

                }

                string msg = ret ? "编辑成功!" : "编辑失败!";

                return Content("<script>alert('" + msg + "');location.href='/Admin';</script>");

            }

 

            return View(house);

        }

 

就这一段代码,从头到尾可以给我讲一下吗?部分代码看懂但是不太会描述程序出来。求大佬教一下?

传参,判断传来的参数Id>0,根据id来执行修改操作,返回编辑成功,否则给PublishUserId参数传值后执行添加操作,返回编辑失败