public ActionResult Edit(string id)
        {
            try
            {
                //初始化物件
                var m = new DockDoorDetailViewModel();



                //取得資料
                var dt   = DockDoorDataAccess.GetDockDoorList(id, null, null, null, new Pages());
                var list = Util.ToList <DockDoorDetailViewModel>(dt);
                m = list[0];

                //載入Tag白名單規則
                DataTable dtFilter = FilterDataAccess.GetFilterList(null);
                m.FilterList = Util.ToList <Models.Model.Filter>(dtFilter);

                return(View("Detail", m));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }
        /// <summary>儲存DockDoor資料</summary>
        public static void SaveDockDoorInfo(DockDoorDetailViewModel m)
        {
            //開啟資料庫存取物件
            using (var db = new DataBase.DataBase(Definition.Conn))
            {
                //資料庫參數
                var param = new DataBase.SqlParams();
                param.Add("ID", m.ID);
                param.Add("DockDoorID", m.DockDoorID);
                param.Add("Remark", m.Remark);
                param.Add("Locate", m.Locate);
                param.Add("IP", m.IP);
                param.Add("CaptionPanelIP", m.CaptionPanelIP);
                param.Add("FilterCode", m.FilterCode);
                param.Add("Mask", m.Mask);
                param.Add("MaskOut", m.MaskOut);
                param.Add("Alarm", "N");
                param.Add("ContainerID", "");
                param.Add("ContainerStatus", "");
                param.Add("Account", Definition.UserInfo.Account);
                db.SqlParams = param;

                if (m.ID == 0)
                {
                    //新增
                    db.StrSQL =
                        @"DECLARE @Count int;
                          SET @Count = (SELECT COUNT(*) FROM [Innolux_DockDoor] WHERE (DockDoorID = @DockDoorID) OR (IP = @IP));
                          IF (@Count = 0) BEGIN
                             INSERT [Innolux_DockDoor](DockDoorID, Remark, Locate, IP, CaptionPanelIP, FilterCode, Mask, MaskOut, Alarm, ContainerID, ContainerStatus, CreateTime, Creater, UpdateTime, Updater) VALUES(@DockDoorID, @Remark, @Locate, @IP, @CaptionPanelIP, @FilterCode, @Mask, @MaskOut, @Alarm, @ContainerID, @ContainerStatus, GetDate(), @Account, GetDate(), @Account);
                          END ELSE BEGIN
                             THROW 51000, '碼頭編號或IP已存在', 1;
                          END";
                }
                else
                {
                    //修改
                    db.StrSQL =
                        @"DECLARE @Count int;
                          SET @Count = (SELECT COUNT(*) FROM [Innolux_DockDoor] WHERE (ID <> @ID) AND (DockDoorID = @DockDoorID OR IP = @IP));
                          IF (@Count = 0) BEGIN
                             UPDATE [Innolux_DockDoor] SET DockDoorID=@DockDoorID, Remark=@Remark, Locate=@Locate, IP=@IP, CaptionPanelIP=@CaptionPanelIP, FilterCode=@FilterCode, Mask=@Mask, MaskOut=@MaskOut, UpdateTime=GetDate(), Updater=@Account WHERE ID=@ID;
                          END ELSE BEGIN
                             THROW 51000, '碼頭編號或IP已存在', 1;
                          END";
                }

                db.ExecuteSQL();
            }
        }
        public JsonResult Save(DockDoorDetailViewModel m)
        {
            Result r = new Result();

            try
            {
                DockDoorDataAccess.SaveDockDoorInfo(m);
                r.Set(ResultCode.Success, "作業成功");
            }
            catch (Exception e)
            {
                r.Set(ResultCode.Error, e.Message);
            }

            return(Json(r, JsonRequestBehavior.AllowGet));
        }
        public ActionResult SpecialTruckDetails(string Truck_No = "", string dockDoorID = "", string Status = "I")
        {
            try
            {
                var mlist = new DockDoorDetailViewModel();

                mlist.Parameters = new DockDoorDetailViewModel.QueryParameter();

                mlist.Truck_ID = Truck_No;

                mlist.Parameters.TRUCK_NO = "";

                mlist.DockDoorID = dockDoorID;

                if (dockDoorID != "" && Status != "")
                {
                    Session["DockDoorID"] = dockDoorID;
                    Session["Status"]     = Status;
                }

                var dt = ApiDataAccess.GetSpecial_TruckDetails();
                //  m = dt[0];
                mlist.List = Util.ToList <RFID_TRUCK>(dt);
                int i = 1;
                foreach (var id in mlist.List)
                {
                    id.Truck_ID = "T" + i++;
                }

                if ((Truck_No != ""))
                {
                    var dtt = ApiDataAccess.GetSpecialTruckFilteredDetails(Truck_No);
                    mlist.TruckFilterList = Util.ToList <RFID_TRUCK_Filter>(dtt);
                }


                return(View("SpecialTruckDetails", mlist));
            }
            catch (Exception ex)
            {
                var mes = ex.Message;
                return(RedirectToAction("Error", "Home"));
            }
        }
        public ActionResult Add()
        {
            try
            {
                //初始化物件
                var m = new DockDoorDetailViewModel();

                //載入Tag白名單規則
                DataTable dtFilter = FilterDataAccess.GetFilterList(null);
                m.FilterList = Util.ToList <Models.Model.Filter>(dtFilter);

                m.FilterCode = "";
                m.Mask       = 100;
                m.CreateTime = DateTime.Now;
                m.UpdateTime = DateTime.Now;

                return(View("Detail", m));
            }
            catch
            {
                return(RedirectToAction("Error", "Home"));
            }
        }