示例#1
0
        /// <summary>
        /// 更新 token
        /// </summary>
        /// <param name="user"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public bool SetUserToken(string user, string token)
        {
            bool   flag       = true;
            string SQL        = @"
                if not exists(select * from MToken_Staging where tek_m_user = @user)
                   begin
                      insert into MToken_Staging (tek_m_user,tek_m_user_token) values (@user, @token)
                   end
                else 
                   begin
                      update MToken_Staging set tek_m_user = @user, tek_m_user_token = @token where tek_m_user = @user
                   end 
            ";
            var    parameters = new SqlParameter[]
            {
                new SqlParameter("token", token),
                new SqlParameter("user", user),
            };

            try
            {
                flag = AdoSupport.ExecuteNonQuery(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters) > 0 ? true : false;
                return(flag);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#2
0
        /// <summary>
        /// 取得 user token
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public string GetToken(string user)
        {
            string SQL        = @"
                select * from MToken_Staging where tek_m_user = @user
            ";
            var    parameters = new SqlParameter[]
            {
                new SqlParameter("user", user),
            };

            try
            {
                MToken_Staging obj = AdoSupport.GetEntity <MToken_Staging>(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters);
                if (obj == null)
                {
                    return("");
                }
                else
                {
                    return(obj.tek_m_user_token);
                }
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "取得 user token時發生錯誤", ex);
            }
        }
示例#3
0
        /// <summary>
        /// 依照編號取得維修資料
        /// </summary>
        /// <param name="tek_repair_no"></param>
        /// <returns></returns>
        public tek_repair GetRepairById(string tek_name)
        {
            //with tmp as (
            //    select a.*,b.tek_m_status,
            //        (select count(*) from Mobiletime_Staging c where c.tek_repair_tek_mobiletime = a.tek_name and tek_m_status = '5') as has5,
            //        row_number() over(partition by tek_name, tek_m_status order by tek_recipient_date desc) as con from Repair_Staging a left outer join Mobiletime_Staging b on a.tek_name = tek_repair_tek_mobiletime where isnull(tek_m_status,'') <> '5'
            //    )
            //    select top 1 * from tmp where tek_name = @tek_name and con = 1 and has5 = 0

            string SQL        = @"

                with tmp as (
	                select * from (
		                select row_number() over (partition by tek_name,mstatus order by tek_recipient_date desc) as con,* from (
			                select (select top 1 tek_m_status from Mobiletime_Staging where tek_repair_tek_mobiletime = a.tek_name order by id desc) as mstatus,b.tek_m_status,a.* 
			                from Repair_Staging a left outer join Mobiletime_Staging b on a.tek_name = tek_repair_tek_mobiletime
		                ) as x where isnull(mstatus,'') <> '5'
	                ) as y where con = 1
                )
                select top 1 * from tmp where tek_name = @tek_name
            ";
            var    parameters = new SqlParameter[]
            {
                new SqlParameter("tek_name", tek_name),
            };

            try
            {
                return(AdoSupport.GetEntity <tek_repair>(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters));
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "依照編號取得維修資料時發生錯誤", ex);
            }
        }
示例#4
0
        /// <summary>
        /// CRM留言
        /// </summary>
        /// <param name="tek_repair_no"></param>
        /// <returns></returns>
        public tek_onsitenote GetOnSiteNote(string tek_repair_no)
        {
            string SQL        = @"
                with tmp as (
	                select * from (
		                select row_number() over (partition by tek_repair_no,mstatus order by createdon desc) as con,* from (
			                select (select top 1 tek_m_status from Mobiletime_Staging where tek_repair_tek_mobiletime = a.tek_repair_no order by id desc) as mstatus,b.tek_m_status,a.* 
			                from Onsitenote_Staging a left outer join Mobiletime_Staging b on a.tek_repair_no = tek_repair_tek_mobiletime
		                ) as x where isnull(mstatus,'') <> '5'
	                ) as y where con = 1
                )
                select top 1 * from tmp where tek_repair_no = @id 
            ";
            var    parameters = new SqlParameter[]
            {
                new SqlParameter("id", tek_repair_no),
            };

            try
            {
                return(AdoSupport.GetEntity <tek_onsitenote>(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters));
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "依維修單號取得留言時發生錯誤", ex);
            }
        }
示例#5
0
        /// <summary>
        /// 取得維修單列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public List <tek_repair> GetRepairList(QueryList query)
        {
            //狀態5的不傳
            string SQL = @"
                with tmp as (
	                select * from (
		                select row_number() over (partition by tek_name,mstatus order by tek_recipient_date desc) as con,* from (
			                select (select top 1 tek_m_status from Mobiletime_Staging where tek_repair_tek_mobiletime = a.tek_name order by id desc) as mstatus,b.tek_m_status,a.* 
			                from Repair_Staging a left outer join Mobiletime_Staging b on a.tek_name = tek_repair_tek_mobiletime
		                ) as x where isnull(mstatus,'') <> '5'
	                ) as y where con = 1
                )
                select top (@PageSize) * 
                from (
                    select *,row_number() over (order by tek_recipient_date desc) as rownumber from tmp  
                ) a
                where rownumber > @PageSize * (@Page - 1)
            ";

            var parameters = new SqlParameter[]
            {
                new SqlParameter("PageSize", query.PageSize),
                new SqlParameter("Page", query.Page),
            };

            try
            {
                return(AdoSupport.GetEntityList <tek_repair>(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters));
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "取得維修單列表時發生錯誤", ex);
            }
        }
示例#6
0
        /// <summary>
        /// 取得留言列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public List <tek_onsitenote> GetOnSiteNoteList(QueryList query)
        {
            string SQL = @"
                select top (@PageSize) * 
                from (
                    select *,row_number() over (order by id desc) as rownumber from Onsitenote_Staging
                ) a
                where rownumber > @PageSize * (@Page - 1)
            ";

            //看最後一筆,排除 5
            SQL = @"
                with tmp as (
	                select * from (
		                select row_number() over (partition by tek_repair_no,mstatus order by createdon desc) as con,* from (
			                select (select top 1 tek_m_status from Mobiletime_Staging where tek_repair_tek_mobiletime = a.tek_repair_no order by id desc) as mstatus,b.tek_m_status,a.* 
			                from Onsitenote_Staging a left outer join Mobiletime_Staging b on a.tek_repair_no = tek_repair_tek_mobiletime
		                ) as x where isnull(mstatus,'') <> '5'
	                ) as y where con = 1
                )
                select top (@PageSize) * 
                from (
                    select *,row_number() over (order by createdon desc) as rownumber from tmp  
                ) a
                where rownumber > @PageSize * (@Page - 1)
            ";
            //只要有 5 就排除
            SQL = @"
               with tmp as (
                    select a.*,b.tek_m_status,
                    (select count(*) from Mobiletime_Staging c where c.tek_repair_tek_mobiletime = a.tek_repair_no and tek_m_status = '5') as has5,
                    row_number() over (partition by tek_repair_no,tek_m_status order by createdon desc) as con from Onsitenote_Staging a left outer join Mobiletime_Staging b on a.tek_repair_no = tek_repair_tek_mobiletime where isnull(tek_m_status,'') <> '5'
                )
                select top (@PageSize) * 
                from (
                    select *,row_number() over (order by createdon desc) as rownumber from tmp where con = 1 and has5 = 0 
                ) a
                where rownumber > @PageSize * (@Page - 1)
            ";
            var parameters = new SqlParameter[]
            {
                new SqlParameter("PageSize", query.PageSize),
                new SqlParameter("Page", query.Page),
            };

            try
            {
                return(AdoSupport.GetEntityList <tek_onsitenote>(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters));
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "取得留言列表時發生錯誤", ex);
            }
        }
示例#7
0
        /// <summary>
        /// 寫入預約記錄
        /// </summary>
        /// <param name="mobile"></param>
        /// <returns></returns>
        public bool AddReserve(string no, string status, string user, string reserve)
        {
            string SQL = @"
                if exists (select * from Mobiletime_Staging where tek_repair_tek_mobiletime = @id)
                   begin
                       update Mobiletime_Staging set tek_m_status = @status,tek_flag = getdate() where tek_repair_tek_mobiletime = @id;
	                   select '1'
                   end
                else
                   begin
	                   select '0'
                   end 
            ";

            SQL = @"
                insert into Mobiletime_Staging (tek_repair_tek_mobiletime,tek_m_status,tek_flag,tek_m_user) values (@tek_repair_tek_mobiletime,@tek_m_status,@tek_flag,@tek_m_user)
            ";
            var parameters = new SqlParameter[]
            {
                new SqlParameter("tek_repair_tek_mobiletime", no),
                new SqlParameter("tek_m_status", status),
                new SqlParameter("tek_flag", reserve),
                new SqlParameter("tek_m_user", user),
            };

            try
            {
                //DataTable dt = AdoSupport.GetDataTable(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters);
                //if (dt.Rows.Count > 0)
                //{
                //    return dt.Rows[0][0].ToString() == "1";
                //}
                //else
                //{
                //    return false;
                //}
                return(AdoSupport.ExecuteNonQuery(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters) > 0);
            }
            catch (Exception ex)
            {
                return(false);
                //throw new DaoException(SQL, "寫入預約記錄時發生錯誤", ex);
            }
        }
示例#8
0
        /// <summary>
        /// 寫入預約記錄
        /// </summary>
        /// <param name="mobile"></param>
        /// <returns></returns>
        public bool AddReserve(string no, string status, string user)
        {
            string SQL        = @"
                insert into Mobiletime_Staging (tek_repair_tek_mobiletime,tek_m_status,tek_m_user) values (@tek_repair_tek_mobiletime,@tek_m_status,@tek_m_user)
            ";
            var    parameters = new SqlParameter[]
            {
                new SqlParameter("tek_repair_tek_mobiletime", no),
                new SqlParameter("tek_m_status", status),
                new SqlParameter("tek_m_user", user),
            };

            try
            {
                return(AdoSupport.ExecuteNonQuery(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters) > 0);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#9
0
        /// <summary>
        /// 留言變更狀態
        /// </summary>
        /// <param name="tek_name">維修單號</param>
        /// <param name="status">狀態</param>
        /// <param name="Log">Log</param>
        public void UpdateOnsitenoteStatus(string tek_repair_no, string status, string Log)
        {
            string SQL        = @"
                update Onsitenote_Staging set status = @status, [log] = @log 
                where id in (select top 1 id from Onsitenote_Staging where tek_repair_no = @id and status = 'Waiting' order by id)
            ";
            var    parameters = new SqlParameter[]
            {
                new SqlParameter("id", tek_repair_no),
                new SqlParameter("status", status),
                new SqlParameter("Log", Log),
            };

            try
            {
                AdoSupport.ExecuteNonQuery(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters);
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "留言變更狀態時發生錯誤", ex);
            }
        }
示例#10
0
        /// <summary>
        /// CRM留言
        /// </summary>
        /// <param name="tek_repair_no"></param>
        /// <returns></returns>
        public List <tek_onsitenote> GetOnSiteNoteByUser(string user)
        {
            string SQL = @"
                select * from Onsitenote_Staging where tek_m_user = @id order by id desc
            ";

            SQL = @"
                with tmp as (
	                select * from (
		                select row_number() over (partition by tek_repair_no,mstatus order by createdon desc) as con,* from (
			                select (select top 1 tek_m_status from Mobiletime_Staging where tek_repair_tek_mobiletime = a.tek_repair_no order by id desc) as mstatus,b.tek_m_status,a.* 
			                from Onsitenote_Staging a left outer join Mobiletime_Staging b on a.tek_repair_no = tek_repair_tek_mobiletime
		                ) as x where isnull(mstatus,'') <> '5'
	                ) as y where con = 1
                )
                select * from tmp where tek_m_user = @id order by id desc
            ";
            SQL = @"
               with tmp as (
                    select a.*,b.tek_m_status,
                    (select count(*) from Mobiletime_Staging c where c.tek_repair_tek_mobiletime = a.tek_repair_no and tek_m_status = '5') as has5,
                    row_number() over (partition by tek_repair_no,tek_m_status order by createdon desc) as con from Onsitenote_Staging a left outer join Mobiletime_Staging b on a.tek_repair_no = tek_repair_tek_mobiletime where isnull(tek_m_status,'') <> '5'
                )
                select * from tmp where con = 1 and has5 = 0 and tek_repair_no = @id and tek_m_user = @id order by id desc 
            ";
            var parameters = new SqlParameter[]
            {
                new SqlParameter("id", user),
            };

            try
            {
                return(AdoSupport.GetEntityList <tek_onsitenote>(System.Data.CommandType.Text, SQL, sqlConnectionString, parameters));
            }
            catch (Exception ex)
            {
                throw new DaoException(SQL, "依帳號取得留言時發生錯誤", ex);
            }
        }