ZHJA_HJGL/HJGL_ZH/BLL/HJGL/MaterialManage/HJGL_EMaterialRegistService.cs

154 lines
6.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace BLL
{
/// <summary>
/// 材料到货登记及验收记录
/// </summary>
public class HJGL_EMaterialRegistService
{
/// <summary>
/// 根据材料到货登记及验收记录Id获取材料到货登记及验收记录信息
/// </summary>
/// <param name="eMaterialRegistId"></param>
/// <returns></returns>
public static Model.HJGL_EMaterialRegist GetEMaterialRegistByID(string eMaterialRegistId)
{
Model.SGGLDB db = Funs.DB;
var eMaterialRegist = db.HJGL_EMaterialRegist.FirstOrDefault(e => e.EMaterialRegistId == eMaterialRegistId);
return eMaterialRegist;
}
/// <summary>
/// 根据材料到货登记及验收记录Id获取明细信息
/// </summary>
/// <param name="eMaterialRegistId"></param>
/// <returns></returns>
public static List<Model.HJGL_EMaterialRegistItem> GetEMaterialRegistItemByRegistId(string eMaterialRegistId)
{
return (from x in Funs.DB.HJGL_EMaterialRegistItem where x.EMaterialRegistId == eMaterialRegistId select x).ToList();
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static List<Model.HJGL_EMaterialRegistItem> GetRegistItem()
{
return (from x in Funs.DB.HJGL_EMaterialRegistItem select x).ToList();
}
/// <summary>
/// 添加材料到货登记及验收记录
/// </summary>
/// <param name="eMaterialRegist"></param>
public static void AddEMaterialRegist(Model.HJGL_EMaterialRegist eMaterialRegist)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_EMaterialRegist newEMaterialRegist = new Model.HJGL_EMaterialRegist();
newEMaterialRegist.EMaterialRegistId = eMaterialRegist.EMaterialRegistId;
newEMaterialRegist.EMaterialRegistCode = eMaterialRegist.EMaterialRegistCode;
newEMaterialRegist.EMaterialRegistDate = eMaterialRegist.EMaterialRegistDate;
newEMaterialRegist.DeliveryMan = eMaterialRegist.DeliveryMan;
newEMaterialRegist.UnitName = eMaterialRegist.UnitName;
newEMaterialRegist.CompileMan = eMaterialRegist.CompileMan;
newEMaterialRegist.CompileDate = eMaterialRegist.CompileDate;
newEMaterialRegist.ProjectId = eMaterialRegist.ProjectId;
db.HJGL_EMaterialRegist.InsertOnSubmit(newEMaterialRegist);
db.SubmitChanges();
}
/// <summary>
/// 修改材料到货登记及验收记录
/// </summary>
/// <param name="eMaterialRegist"></param>
public static void UpdateEMaterialRegist(Model.HJGL_EMaterialRegist eMaterialRegist)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_EMaterialRegist newEMaterialRegist = db.HJGL_EMaterialRegist.First(e => e.EMaterialRegistId == eMaterialRegist.EMaterialRegistId);
newEMaterialRegist.EMaterialRegistCode = eMaterialRegist.EMaterialRegistCode;
newEMaterialRegist.EMaterialRegistDate = eMaterialRegist.EMaterialRegistDate;
newEMaterialRegist.DeliveryMan = eMaterialRegist.DeliveryMan;
newEMaterialRegist.UnitName = eMaterialRegist.UnitName;
newEMaterialRegist.CompileMan = eMaterialRegist.CompileMan;
newEMaterialRegist.CompileDate = eMaterialRegist.CompileDate;
newEMaterialRegist.ProjectId = eMaterialRegist.ProjectId;
db.SubmitChanges();
}
/// <summary>
/// 删除材料到货登记及验收记录
/// </summary>
/// <param name="eMaterialRegistId"></param>
public static void DeleteEMaterialRegist(string eMaterialRegistId)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_EMaterialRegist eMaterialRegist = db.HJGL_EMaterialRegist.First(e => e.EMaterialRegistId == eMaterialRegistId);
db.HJGL_EMaterialRegist.DeleteOnSubmit(eMaterialRegist);
db.SubmitChanges();
}
/// <summary>
/// 添加材料到货登记及验收记录明细
/// </summary>
/// <param name="item"></param>
public static void AddEMaterialRegistItem(Model.HJGL_EMaterialRegistItem item)
{
Model.SGGLDB db = Funs.DB;
Model.HJGL_EMaterialRegistItem newItem = new Model.HJGL_EMaterialRegistItem();
newItem.EMaterialRegistItemId = item.EMaterialRegistItemId;
newItem.EMaterialRegistId = item.EMaterialRegistId;
newItem.WMT_ID = item.WMT_ID;
newItem.SpecificationsModel = item.SpecificationsModel;
newItem.UnitName = item.UnitName;
newItem.MaterialCount = item.MaterialCount;
newItem.ItemCode = item.ItemCode;
newItem.Testrecords = item.Testrecords;
newItem.Models = item.Models;
db.HJGL_EMaterialRegistItem.InsertOnSubmit(newItem);
db.SubmitChanges();
}
/// <summary>
/// 根据材料到货登记及验收记录Id删除所有相关明细
/// </summary>
/// <param name="eMaterialRegistId"></param>
public static void DeleteEMaterialRegistItem(string projectId, string eMaterialRegistId)
{
Model.SGGLDB db = Funs.DB;
var deleteItem = from x in db.HJGL_EMaterialRegistItem where x.EMaterialRegistId == eMaterialRegistId select x;
/// 取到货明细 库存减去明细值
if (deleteItem.Count() > 0)
{
foreach (var ditem in deleteItem)
{
int count = 0;
if (ditem.MaterialCount.HasValue)
{
count = count - ditem.MaterialCount.Value;
}
if (count < 0)
{
BLL.HJGL_EMInventoryRecordsService.UpdateEMInventoryRecords(projectId, ditem.WMT_ID, ditem.Models, ditem.SpecificationsModel, count);
}
}
db.HJGL_EMaterialRegistItem.DeleteAllOnSubmit(deleteItem);
db.SubmitChanges();
}
}
}
}