using Model.APIItem.HJGL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL.API.HJGL
{
    public class APIElectrodeRecoveryService
    {

        public static void AddElectrodeRecovery(ElectrodeRecoveryItem electrodeRecoveryItem)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                Model.HJGL_ElectrodeRecovery newElectrodeRecovery = new Model.HJGL_ElectrodeRecovery();
                //newElectrodeRecovery.RecoveryId = electrodeRecoveryItem.RecoveryId;
                //newElectrodeRecovery.Specifications = electrodeRecoveryItem.Specifications;
                //newElectrodeRecovery.WMT_ID = electrodeRecoveryItem.WMT_ID;
                //newElectrodeRecovery.Equipment = electrodeRecoveryItem.Equipment;
                //newElectrodeRecovery.WMD_ID = electrodeRecoveryItem.WMD_ID;
                //newElectrodeRecovery.STE_ID = electrodeRecoveryItem.STE_ID;
                //newElectrodeRecovery.InstallationId = electrodeRecoveryItem.InstallationId;
                //newElectrodeRecovery.RecoveryCount = electrodeRecoveryItem.RecoveryCount;
                //newElectrodeRecovery.RecoveryCode = electrodeRecoveryItem.RecoveryCode;
                //newElectrodeRecovery.RecoveryDate = electrodeRecoveryItem.RecoveryDate;
                //newElectrodeRecovery.WeldIdentityCard = electrodeRecoveryItem.WeldIdentityCard;
                //newElectrodeRecovery.WelderName = electrodeRecoveryItem.WelderName;
                //newElectrodeRecovery.WelderCode = electrodeRecoveryItem.WelderCode;
                //newElectrodeRecovery.ProjectId = electrodeRecoveryItem.ProjectId;
                //newElectrodeRecovery.CompanyId = electrodeRecoveryItem.CompanyId;

                db.HJGL_ElectrodeRecovery.InsertOnSubmit(newElectrodeRecovery);
                db.SubmitChanges();
            }
        }
        public static void UpdateElectrodeRecovery(ElectrodeRecoveryItem electrodeRecoveryItem)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                Model.HJGL_ElectrodeRecovery newElectrodeRecovery = db.HJGL_ElectrodeRecovery.FirstOrDefault(x => x.ElectrodeRecoveryId == electrodeRecoveryItem.RecoveryId);
                //newElectrodeRecovery.ElectrodeRecoveryId = electrodeRecoveryItem.RecoveryId;
                //newElectrodeRecovery.Specifications = electrodeRecoveryItem.Specifications;
                //newElectrodeRecovery.WMT_ID = electrodeRecoveryItem.WMT_ID;
                //newElectrodeRecovery.Equipment = electrodeRecoveryItem.Equipment;
                //newElectrodeRecovery.WMD_ID = electrodeRecoveryItem.WMD_ID;
                //newElectrodeRecovery.STE_ID = electrodeRecoveryItem.STE_ID;
                //newElectrodeRecovery.InstallationId = electrodeRecoveryItem.InstallationId;
                //newElectrodeRecovery.RecoveryCount = electrodeRecoveryItem.RecoveryCount;
                //newElectrodeRecovery.RecoveryCode = electrodeRecoveryItem.RecoveryCode;
                //newElectrodeRecovery.RecoveryDate = electrodeRecoveryItem.RecoveryDate;
                //newElectrodeRecovery.WeldIdentityCard = electrodeRecoveryItem.WeldIdentityCard;
                //newElectrodeRecovery.WelderName = electrodeRecoveryItem.WelderName;
                //newElectrodeRecovery.WelderCode = electrodeRecoveryItem.WelderCode;
                //newElectrodeRecovery.ProjectId = electrodeRecoveryItem.ProjectId;
                //newElectrodeRecovery.CompanyId = electrodeRecoveryItem.CompanyId;


                db.SubmitChanges();
            }
        }

        public static List<ElectrodeRecoveryItem> GetListData(string projectId, int index, int page,  string name)
        {
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                var q = from u in db.HJGL_ElectrodeRecovery
                        where u.ProjectId == projectId
                        //where name == "" || u.WelderName.Contains(name) || u.WelderCode.Contains(name)
                        select u;
                var list = q.Skip(index * page).Take(page).ToList();
                List<ElectrodeRecoveryItem> res = new List<ElectrodeRecoveryItem>();
                //foreach (var item in list)
                //{
                //    ElectrodeRecoveryItem electrodeRecoveryItem = new ElectrodeRecoveryItem();
                //    electrodeRecoveryItem.RecoveryId = item.RecoveryId;
                //    electrodeRecoveryItem.Specifications = item.Specifications;
                //    electrodeRecoveryItem.WMT_ID = item.WMT_ID;
                //    electrodeRecoveryItem.Equipment = item.Equipment;
                //    switch (item.Equipment)
                //    {
                //        case "1": electrodeRecoveryItem.EquipmentName = "管道"; break;
                //        case "2": electrodeRecoveryItem.EquipmentName = "钢结构"; break;
                //        case "3": electrodeRecoveryItem.EquipmentName = "仪表"; break;

                //    }
                //    electrodeRecoveryItem.WMD_ID = item.WMD_ID;
                //    electrodeRecoveryItem.STE_ID = item.STE_ID;
                //    electrodeRecoveryItem.InstallationId = item.InstallationId;
                //    electrodeRecoveryItem.RecoveryCount = item.RecoveryCount;
                //    electrodeRecoveryItem.RecoveryCode = item.RecoveryCode;
                //    electrodeRecoveryItem.RecoveryDate = item.RecoveryDate;
                //    electrodeRecoveryItem.WeldIdentityCard = item.WeldIdentityCard;
                //    electrodeRecoveryItem.WelderName = item.WelderName;
                //    electrodeRecoveryItem.WelderCode = item.WelderCode;
                //    electrodeRecoveryItem.WeldingMethodName = db.Base_WeldingMethod.Where(x => x.WeldingMethodId == item.WMD_ID).Select(x => x.WeldingMethodName).FirstOrDefault();
                //    electrodeRecoveryItem.STE_Name = db.BS_Steel.Where(x => x.STE_ID == item.STE_ID).Select(x => x.STE_Name).FirstOrDefault();
                //    electrodeRecoveryItem.ConsumablesName = db.Base_Consumables.Where(x => x.ConsumablesId == item.WMT_ID).Select(x => x.ConsumablesName).FirstOrDefault();
                //    electrodeRecoveryItem.SteelFormat = db.Base_Consumables.Where(x => x.ConsumablesId == item.WMT_ID).Select(x => x.SteelFormat).FirstOrDefault();
                //    electrodeRecoveryItem.InstallationName = db.Project_Installation.Where(x => x.InstallationId == item.InstallationId).Select(x => x.InstallationName).FirstOrDefault();

                //    res.Add(electrodeRecoveryItem);
                //}

                return res;
            }
        }
    }
}