C#对主细表的实现模块后端模块2

本文详细介绍了订单管理系统的控制层实现,包括订单查询、添加、编辑、删除等操作的处理流程,以及主订单与细订单之间的关联操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 控制层,页面是通过控制层去访问底层数据的

  public class OrderController : Controller
    {
        private string _name = string.Empty; //用来接收查询中有关name 的值
        private string _order_Id = string.Empty;//_order_Id订单号
        static readonly OrderMainFineRepository mainfinerepository = new OrderMainFineRepository();
        MarketRepository make = new MarketRepository();
        public ActionResult Index()
        {
            return View();
        }
        /// <summary>
        /// 细订单的查询
        /// </summary>
        /// <returns></returns>
        public ActionResult GetOrdefineSelectJson()
        {
            int pageIndex = int.Parse(Request["page"]);
            int pageSize = int.Parse(Request["rows"]);
            if (!string.IsNullOrEmpty(Request["order_Id"]))
            {
                _order_Id = Request["order_Id"];
            }
            else { _order_Id = "AAAAAAAAA"; }//避免订单号是空的时候
            var queryParams = new OrderParam//初始化查询实例
            { PageIndex = pageIndex, PageSize = pageSize, order_Id = _order_Id };
            int totalNum = 0;
            var orderfine = mainfinerepository.LoadOrderFinePageData(queryParams, out totalNum);
            var result = from p in orderfine
                         select new { p.Id, p.shopp_Id, p.order_Id, p.shopp_name, p.shopp_num, p.shopp_price, p.tatol_money };
            var jsonResult = new { total = totalNum, rows = result };
            return Json(jsonResult, JsonRequestBehavior.AllowGet);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public ActionResult GetOrderMainSelectJson()
        {
            int totalNum = 0;
            int pageIndex = int.Parse(Request["page"]); //page和rows是datagrid传递的默认参数
            int pageSize = int.Parse(Request["rows"]);
            if (!string.IsNullOrEmpty(Request["order_Id"])) //如果查询中包括Category
            { _order_Id = Request["order_Id"]; }
            var queryParams = new OrderParam//初始化查询实例
            { PageIndex = pageIndex, PageSize = pageSize, order_Id = _order_Id };
            var queryParams3 = new MarketParam
            { PageIndex = pageIndex, PageSize = pageSize, Name = "", Address = "", };
            //根据查询实例查找对应的数据
            var ordermain = mainfinerepository.LoadOrderMainPageData(queryParams, out totalNum);
            var markets = make.LoadMarketsPageData(queryParams3, out totalNum);
            var result = (from u in ordermain
                          join e in markets on u.marketId equals e.Market_Id
                          select new
                          {
                              Id = u.Id,
                              order_Id = u.order_Id,
                              orderDate = u.orderDate,
                              orderMoney = u.orderMoney,
                              Market_name = e.Name,
                              address = e.Address
                          }).ToList();
            var jsonResult = new { total = result.Count, rows = result };
            return Json(jsonResult, JsonRequestBehavior.AllowGet);
        }
        /// <summary>
        /// 通过订单号获取信息
        /// </summary>
        /// <param name="order_Id"></param>
        /// <returns></returns>
        public ActionResult GetByOrderMainId(string order_Id)
        {
            OrderParam pa = new OrderParam();
            OrderMainVm mavm = new OrderMainVm();
            pa.order_Id = order_Id;
            //在这里获取主订单号,然后通过主订单号查询细订单号的信息,然后
            List<OrderMain> marketlist = mainfinerepository.GetByOrderMainId(pa);
            mavm.MId = marketlist[0].Id;
            mavm.order_Id = marketlist[0].order_Id;
            mavm.orderDate = marketlist[0].orderDate;
            mavm.orderMoney = marketlist[0].orderMoney;
            mavm.marketId = marketlist[0].marketId;
            return Json(new { msg = true, mavm });
        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        public ActionResult AddOrder()
        {
            return PartialView("_AddOrder", new OrderMainVm());
        }
        /// <summary>
        /// 转到添加页面
        /// </summary>
        /// <returns></returns>
        public ActionResult GetByOrderMain()
        {
            return PartialView("_QueryOrder", new OrderMainVm());
        }
        /// <summary>
        /// 真正进行添加操作,是主细表同时插入
        /// </summary>
        /// <param name="stt"></param>
        /// <returns></returns>
        public ActionResult AddOrderMain_Fine(string stt)
        {
            OrderFine ov;
            OrderMain om = new OrderMain();
            IList<JToken> delList = new List<JToken>();
            List<OrderFine> insertlist = new List<OrderFine>();
            List<OrderFine> deletelist = new List<OrderFine>();
            List<OrderFine> updatelist = new List<OrderFine>();
            string orderedjson = Request["effectRow[ordered]"];
            if (orderedjson != null)
            {
                foreach (var ss in JArray.Parse(orderedjson))
                {
                    om.order_Id = ((JObject)ss)["orderno"] + "";
                    om.orderDate = ((JObject)ss)["orderdate"] + "";
                    om.orderMoney = ((JObject)ss)["orderprice"] + "";
                    om.marketId = ((JObject)ss)["market_Id"] + "";
                }
            }
            string insertedjson = Request["effectRow[inserted]"];
            if (insertedjson != null)
            {
                foreach (var ss in JArray.Parse(insertedjson))
                {
                    ov = new OrderFine();
                    ov.shopp_Id = ((JObject)ss)["shopp_Id"] + "";
                    ov.shopp_num = ((JObject)ss)["shopp_num"] + "";
                    ov.shopp_name = ((JObject)ss)["shopp_name"] + "";
                    ov.shopp_price = ((JObject)ss)["shopp_price"] + "";
                    ov.tatol_money = ((JObject)ss)["tatol_money"] + "";
                    ov.order_Id = om.order_Id;//通过主表传过来
                    insertlist.Add(ov);//把这个集合传过去到增加方法里面遍历就可以了
                }
            }
            OrderParam pa = new OrderParam();
            pa.order_Id = om.order_Id;
            List<OrderMain> marketlist = mainfinerepository.GetByOrderMainId(pa);
            if (marketlist.Count == 0)//主表需要入库
            {
                mainfinerepository.MainFineAdd(om, insertlist);//主细表同时入库
            }else {
                foreach (var nn in JArray.Parse(orderedjson))
                {
                    om.Id = int.Parse(((JObject)nn)["Id"] + "");
                }
                mainfinerepository.mainUpdateToFineAdd(om, insertlist);
            }
            ///只对细表的删除,对主表要更新
            string deletedjson = Request["effectRow[deleted]"];
            if (deletedjson != null)
            {
                foreach (var nn in JArray.Parse(orderedjson))
                {
                    om.Id = int.Parse(((JObject)nn)["Id"] + "");
                }
                foreach (var ss in JArray.Parse(deletedjson))
                {
                    ov = new OrderFine();
                    ov.Id = int.Parse(((JObject)ss)["Id"] + "");
                    deletelist.Add(ov);
                }
                mainfinerepository.mainUpdateToFineDelete(om, deletelist);
            }
            ///对主细表更新
            string updatedjson = Request["effectRow[updated]"];
            if (updatedjson != null)
            {
                foreach (var nn in JArray.Parse(orderedjson))
                {
                    om.Id = int.Parse(((JObject)nn)["Id"] + "");
                }
                foreach (var ss in JArray.Parse(updatedjson))
                {
                    ov = new OrderFine();
                    ov.Id = int.Parse(((JObject)ss)["Id"] + "");
                    ov.shopp_name = ((JObject)ss)["shopp_name"] + "";
                    ov.shopp_num = ((JObject)ss)["shopp_num"] + "";
                    ov.shopp_price = ((JObject)ss)["shopp_price"] + "";
                    ov.tatol_money = ((JObject)ss)["tatol_money"] + "";
                    ov.shopp_Id = ((JObject)ss)["shopp_Id"] + "";
                    ov.order_Id = om.order_Id;//通过主表传过来
                    updatelist.Add(ov);
                }
                mainfinerepository.MainFineUpdate(om,updatelist);//主细表同时更新
            }
             return Json(new { msg = true });
        }
        /// <summary>
        /// 如何从主表进来的,然后展示出了修改页面
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult EditOrderMainId(int id)
        {
            var dbtype = mainfinerepository.GetById(id);
            OrderMainVm makeVm = new OrderMainVm();
            return PartialView("_EditMarket", makeVm);
        }
        /// <summary>
        /// 删除主表信息,同时也会删除主表下的细表信息
        /// 获取前台传来的order_Id字符串
        /// 去除最后一位分隔符
        /// 把字符串转换成数组
        /// </summary>
        /// <returns></returns>
        public ActionResult DeleteOrderMian()
        {
            var strIds = Request["ids"];
            strIds = strIds.Substring(0, strIds.Length - 1);
            string[] ids = strIds.Split('_');
            mainfinerepository.MainFineDeleteBatch(ids);
            return Json(new { msg = true });
        }
    }

转载请注明出处:https://mp.youkuaiyun.com/postedit/82699477

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值