using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 开车材料跟踪管理
    /// 
    public static class MaterialTraceService
    {
        /// 
        /// 根据主键获取开车材料跟踪管理信息
        /// 
        /// 
        /// 
        public static Model.DriverGoods_MaterialTrace GetMaterialTraceById(string MaterialTraceId)
        {
            return Funs.DB.DriverGoods_MaterialTrace.FirstOrDefault(e => e.MaterialTraceId == MaterialTraceId);
        }
        /// 
        /// 添加开车材料跟踪管理信息
        /// 
        /// 
        public static void AddMaterialTrace(Model.DriverGoods_MaterialTrace MaterialTrace)
        {
            Model.DriverGoods_MaterialTrace newMaterialTrace = new Model.DriverGoods_MaterialTrace();
            newMaterialTrace.MaterialTraceId = MaterialTrace.MaterialTraceId;
            newMaterialTrace.ProjectId = MaterialTrace.ProjectId;
            newMaterialTrace.Code = MaterialTrace.Code;
            newMaterialTrace.Type = MaterialTrace.Type;
            newMaterialTrace.MaterialName = MaterialTrace.MaterialName;
            newMaterialTrace.SpecificationModel = MaterialTrace.SpecificationModel;
            newMaterialTrace.BatchStorage_1 = MaterialTrace.BatchStorage_1;
            newMaterialTrace.BatchStorage_2 = MaterialTrace.BatchStorage_2;
            newMaterialTrace.BatchStorage_3 = MaterialTrace.BatchStorage_3;
            newMaterialTrace.BatchOutStorage_1 = MaterialTrace.BatchOutStorage_1;
            newMaterialTrace.BatchOutStorage_2 = MaterialTrace.BatchOutStorage_2;
            newMaterialTrace.BatchOutStorage_3 = MaterialTrace.BatchOutStorage_3;
            newMaterialTrace.BatchOutStorage_4 = MaterialTrace.BatchOutStorage_4;
            newMaterialTrace.BatchOutStorage_5 = MaterialTrace.BatchOutStorage_5;
            newMaterialTrace.BatchOutStorage_6 = MaterialTrace.BatchOutStorage_6;
            newMaterialTrace.BatchSurplus_1 = MaterialTrace.BatchSurplus_1;
            newMaterialTrace.BatchSurplus_2 = MaterialTrace.BatchSurplus_2;
            newMaterialTrace.BatchSurplus_3 = MaterialTrace.BatchSurplus_3;
            newMaterialTrace.BatchSurplus_4 = MaterialTrace.BatchSurplus_4;
            newMaterialTrace.BatchSurplus_5 = MaterialTrace.BatchSurplus_5;
            newMaterialTrace.BatchSurplus_6 = MaterialTrace.BatchSurplus_6;
            newMaterialTrace.AttachUrl = MaterialTrace.AttachUrl;
            newMaterialTrace.Remark = MaterialTrace.Remark;
            Funs.DB.DriverGoods_MaterialTrace.InsertOnSubmit(newMaterialTrace);
            Funs.DB.SubmitChanges();
        }
        /// 
        /// 修改开车材料跟踪管理
        /// 
        /// 
        public static void UpdateMaterialTrace(Model.DriverGoods_MaterialTrace MaterialTrace)
        {
            Model.DriverGoods_MaterialTrace newMaterialTrace = Funs.DB.DriverGoods_MaterialTrace.FirstOrDefault(e => e.MaterialTraceId == MaterialTrace.MaterialTraceId);
            if (newMaterialTrace != null)
            {
                newMaterialTrace.Code = MaterialTrace.Code;
                newMaterialTrace.Type = MaterialTrace.Type;
                newMaterialTrace.MaterialName = MaterialTrace.MaterialName;
                newMaterialTrace.SpecificationModel = MaterialTrace.SpecificationModel;
                newMaterialTrace.BatchStorage_1 = MaterialTrace.BatchStorage_1;
                newMaterialTrace.BatchStorage_2 = MaterialTrace.BatchStorage_2;
                newMaterialTrace.BatchStorage_3 = MaterialTrace.BatchStorage_3;
                newMaterialTrace.BatchOutStorage_1 = MaterialTrace.BatchOutStorage_1;
                newMaterialTrace.BatchOutStorage_2 = MaterialTrace.BatchOutStorage_2;
                newMaterialTrace.BatchOutStorage_3 = MaterialTrace.BatchOutStorage_3;
                newMaterialTrace.BatchOutStorage_4 = MaterialTrace.BatchOutStorage_4;
                newMaterialTrace.BatchOutStorage_5 = MaterialTrace.BatchOutStorage_5;
                newMaterialTrace.BatchOutStorage_6 = MaterialTrace.BatchOutStorage_6;
                newMaterialTrace.BatchSurplus_1 = MaterialTrace.BatchSurplus_1;
                newMaterialTrace.BatchSurplus_2 = MaterialTrace.BatchSurplus_2;
                newMaterialTrace.BatchSurplus_3 = MaterialTrace.BatchSurplus_3;
                newMaterialTrace.BatchSurplus_4 = MaterialTrace.BatchSurplus_4;
                newMaterialTrace.BatchSurplus_5 = MaterialTrace.BatchSurplus_5;
                newMaterialTrace.BatchSurplus_6 = MaterialTrace.BatchSurplus_6;
                newMaterialTrace.AttachUrl = MaterialTrace.AttachUrl;
                newMaterialTrace.Remark = MaterialTrace.Remark;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除开车材料跟踪管理
        /// 
        /// 
        public static void DeleteMaterialTrace(string MaterialTraceId)
        {
            Model.DriverGoods_MaterialTrace MaterialTrace = Funs.DB.DriverGoods_MaterialTrace.FirstOrDefault(e => e.MaterialTraceId == MaterialTraceId);
            if (MaterialTrace != null)
            {
                if (!string.IsNullOrEmpty(MaterialTrace.AttachUrl))
                {
                    BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, MaterialTrace.AttachUrl);//删除附件
                }
                Funs.DB.DriverGoods_MaterialTrace.DeleteOnSubmit(MaterialTrace);
                Funs.DB.SubmitChanges();
            }
        }
    }
}