您的位置:首页 > 教育 > 培训 > PurchaseorderController

PurchaseorderController

2025/5/8 13:38:25 来源:https://blog.csdn.net/weixin_42132177/article/details/141894853  浏览:    关键词:PurchaseorderController

目录

1、 PurchaseorderController

1.1、 保存采购订单

1.1.1、 //单据状况

1.1.2、 //保存要删除的ID的集合,通过 Except() 算出前面两个集合的相同的元素。

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

1.2、 //审核采购单

  1. PurchaseorderController 

using QXQPS.Models;

using QXQPS.Vo;

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace QXQPS.Areas.AccessoriessalesManagment.Controllers

{

    public class PurchaseorderController : Controller

    {

        QXQPEntities myModels = new Models.QXQPEntities();

        // GET: AccessoriessalesManagment/Purchaseorder

    1. 保存采购订单

        public ActionResult listProcur(List<PW_Procurement> listProcurement, List<SYS_ProcurementDetail> listFitting)//保存采购订单

        {

            var ProcurementID = 0;

            try

            {

                if (listProcurement[0].ProcurementID == 0)

                {

                    listProcurement[0].Documents = "未进货";

      1. //单据状况

                    myModels.PW_Procurement.Add(listProcurement[0]);

                }

                else

                {

                    listProcurement[0].Documents = "未进货";

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

                }

                if (myModels.SaveChanges() > 0)

                {

                    ProcurementID = listProcurement[0].ProcurementID;

                    if (listFitting != null)

                    {

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

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

                        List<int> DeleteID = new List<int>();

      1. //保存要删除的ID的集合,通过 Except() 算出前面两个集合的相同的元素。

                        var ProDetail = myModels.SYS_ProcurementDetail.Where(m => m.ProcurementID == ProcurementID).Select(m => new { m.ProcurementDetailID }).ToList();

                        foreach(var item in ProDetail)

                        {

                            oldID.Add(item.ProcurementDetailID);

                        }

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

                        {

                            listFitting[i].ProcurementID = ProcurementID;

                            var ProcurementDetailID = listFitting[i].ProcurementDetailID;

                            if (ProcurementDetailID == 0)

                            {

                                myModels.SYS_ProcurementDetail.Add(listFitting[i]);

                            }

                            else

                            {

                                newID.Add(listFitting[i].ProcurementDetailID);

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

                            }

                        }

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

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

                        foreach(var item in DeleteID)

                        {

                            var delete = myModels.SYS_ProcurementDetail.Where(m => m.ProcurementDetailID == item).Single();

                            myModels.SYS_ProcurementDetail.Remove(delete);

                        }

                    }

                    myModels.SaveChanges();

                }

                else

                {

                    return Json(false, JsonRequestBehavior.AllowGet);

                }

            }

            catch (Exception)

            {

                return Json(false, JsonRequestBehavior.AllowGet);

            }

            return Json(ProcurementID, JsonRequestBehavior.AllowGet);

        }

版权声明:

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

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