当前位置: 首页> 健康> 知识 > WarehousingController

WarehousingController

时间:2025/8/9 7:18:37来源:https://blog.csdn.net/weixin_42132177/article/details/142062483 浏览次数:0次

目录

1、 WarehousingController

1.1、 保存采购入库单

1.1.1、 //单据类型

1.1.2、 //修改保存后的仓库ID

1.1.3、 //从某集合中删除与其另一个集合中相同的元素

  1. WarehousingController 

using QXQPS.Models;

using QXQPS.Vo;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace QXQPS.Areas.AccessoriessalesManagment.Controllers

{

    public class WarehousingController : Controller

    {

        QXQPEntities myModels = new Models.QXQPEntities();

    1. 保存采购入库单

        public ActionResult listWarehou(List<PW_Incoming> listIncome, List<SYS_WarehousingDetail> WarehousingDetail)//保存采购入库单

        {

            Session["WarehousingDetail"] = WarehousingDetail;

            var IncomingID = listIncome[0].IncomingID;

            try

            {

                listIncome[0].DocumentsTypeID = 3;

      1. //单据类型

                listIncome[0].BalanceStateID = 2;//结算状态

                if (IncomingID == 0)

                {

                    myModels.PW_Incoming.Add(listIncome[0]);

                }

                else

                {

                    myModels.Entry(listIncome[0]).State = System.Data.Entity.EntityState.Modified;

                }

                var list = myModels.PW_Incoming.Where(m => m.IncomingID == IncomingID).Select(m => new { m.WarehouseID }).SingleOrDefault();

                if (myModels.SaveChanges() > 0)

                {

                    

                    var WarehouseID = listIncome[0].WarehouseID;

      1. //修改保存后的仓库ID

                    IncomingID = listIncome[0].IncomingID;

                    if (WarehousingDetail != null)

                    {

                        List<int> oldID = new List<int>();//保存原来ID的集合

                        List<int> newID = new List<int>();//保存从页面传来的新ID的集合

                        List<int> DeleteID = new List<int>();//保存要删除的ID的集合,通过 Except() 算出前面两个集合的相同的元素。

                        var ProDetail = myModels.SYS_WarehousingDetail.Where(m => m.IncomingID == IncomingID).Select(m => new { m.WarehousingDetailID }).ToList();

                        foreach (var item in ProDetail)

                        {

                            oldID.Add(item.WarehousingDetailID);

                        }

                        for (int i = 0; i < WarehousingDetail.Count(); i++)

                        {

                            WarehousingDetail[i].IncomingID = IncomingID;

                            var WarehousingDetailID = WarehousingDetail[i].WarehousingDetailID;

                            if (WarehousingDetailID == 0)

                            {

                                myModels.SYS_WarehousingDetail.Add(WarehousingDetail[i]);

                            }

                            else

                            {

                                newID.Add(WarehousingDetail[i].WarehousingDetailID);

                                myModels.Entry(WarehousingDetail[i]).State = System.Data.Entity.EntityState.Modified;

                            }

                        }

                        DeleteID = oldID.Except(newID).ToList();

      1. //从某集合中删除与其另一个集合中相同的元素

                        foreach (var item in DeleteID)

                        {

                            var delete = myModels.SYS_WarehousingDetail.Where(m => m.WarehousingDetailID == item).Single();

                            myModels.SYS_WarehousingDetail.Remove(delete);

                        }

                    }

                    myModels.SaveChanges();

                }

                else

                {

                    return Json(false, JsonRequestBehavior.AllowGet);

                }

            }

            catch (Exception)

            {

                return Json(false, JsonRequestBehavior.AllowGet);

            }

            return Json(IncomingID, JsonRequestBehavior.AllowGet);

        }

关键字:WarehousingController

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: