using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
    /// 
    /// 现场车辆管理
    /// 
    public static class CarManagerService
    {
        /// 
        /// 根据主键获取车辆管理信息
        /// 
        /// 
        /// 
        public static Model.Administrative_CarManager GetCarManagerById(string carManagerId)
        {
            return Funs.DB.Administrative_CarManager.FirstOrDefault(e => e.CarManagerId == carManagerId);
        }
        /// 
        /// 添加现场车辆管理
        /// 
        /// 
        public static void AddCarManager(Model.Administrative_CarManager carManager)
        {
            Model.Administrative_CarManager newCarManager = new Model.Administrative_CarManager
            {
                CarManagerId = carManager.CarManagerId,
                ProjectId = carManager.ProjectId,
                CarManagerCode = carManager.CarManagerCode,
                CarName = carManager.CarName,
                CarModel = carManager.CarModel,
                BuyDate = carManager.BuyDate,
                LastYearCheckDate = carManager.LastYearCheckDate,
                InsuranceDate = carManager.InsuranceDate,
                Remark = carManager.Remark,
                CompileMan = carManager.CompileMan,
                CompileDate = carManager.CompileDate,
                States = carManager.States
            };
            Funs.DB.Administrative_CarManager.InsertOnSubmit(newCarManager);
            Funs.DB.SubmitChanges();
            BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.CarManagerMenuId, carManager.ProjectId, null, carManager.CarManagerId, carManager.CompileDate);
        }
        /// 
        /// 修改现场车辆管理
        /// 
        /// 
        public static void UpdateCarManager(Model.Administrative_CarManager carManager)
        {
            Model.Administrative_CarManager newCarManager = Funs.DB.Administrative_CarManager.FirstOrDefault(e => e.CarManagerId == carManager.CarManagerId);
            if (newCarManager != null)
            {
                //newCarManager.ProjectId = carManager.ProjectId;
                newCarManager.CarManagerCode = carManager.CarManagerCode;
                newCarManager.CarName = carManager.CarName;
                newCarManager.CarModel = carManager.CarModel;
                newCarManager.BuyDate = carManager.BuyDate;
                newCarManager.LastYearCheckDate = carManager.LastYearCheckDate;
                newCarManager.InsuranceDate = carManager.InsuranceDate;
                newCarManager.Remark = carManager.Remark;
                newCarManager.CompileMan = carManager.CompileMan;
                newCarManager.CompileDate = carManager.CompileDate;
                newCarManager.States = carManager.States;
                Funs.DB.SubmitChanges();
            }
        }
        /// 
        /// 根据主键删除现场车辆管理
        /// 
        /// 
        public static void DeleteCarManagerById(string carManagerId)
        {
            Model.Administrative_CarManager carManager = Funs.DB.Administrative_CarManager.FirstOrDefault(e => e.CarManagerId == carManagerId);
            if (carManager != null)
            {
                BLL.CodeRecordsService.DeleteCodeRecordsByDataId(carManagerId);
                ////删除审核流程表
                BLL.CommonService.DeleteFlowOperateByID(carManager.CarManagerId);
                Funs.DB.Administrative_CarManager.DeleteOnSubmit(carManager);
                Funs.DB.SubmitChanges();
            }
        }
    }
}