public InvokeResult InputWorkOrder(InputWorkOrderV2Param param)
        {
            InvokeResult result = new InvokeResult {
                Success = true
            };

            try
            {
                Guid stationId = Guid.Parse(GetHttpHeader("StationId"));
                var  spParam   = param.ToSPParam();
                spParam["StationId"]  = stationId;
                spParam["OperatedBy"] = NormalSession.UserId.ToGuid();
                BuilderFactory.DefaultBulder().ExecuteSPNoneQuery("SP_Oca_InputWorkOrderByMerchant", spParam);
                if (spParam.ErrorCode != 0)
                {
                    result.ErrorCode    = spParam.ErrorCode;
                    result.ErrorMessage = spParam.ErrorMessage;
                }
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
            }
            return(result);
        }
        public CollectionInvokeResult <StringObjectDictionary> GetWorkOrderFinished(InputWorkOrderV2Param param)
        {
            CollectionInvokeResult <StringObjectDictionary> result = new CollectionInvokeResult <StringObjectDictionary> {
                Success = true
            };

            try
            {
                List <string>          whereClause   = new List <string>();
                Guid                   stationId     = Guid.Parse(GetHttpHeader("StationId"));
                StringObjectDictionary param_filters = param.ToStringObjectDictionary(false);
                StringObjectDictionary filters       = new StringObjectDictionary();
                if (param_filters != null)
                {
                    foreach (var field in param_filters)
                    {
                        if (field.Key == "fuzzyFields")
                        {
                            List <string> fuzzys = new List <string>();
                            foreach (var fields in param.fuzzyFields)
                            {
                                fuzzys.Add(string.Format("{0} like '%{1}%'", fields.key, fields.value));
                            }
                            if (fuzzys.Count > 0)
                            {
                                whereClause.Add("(" + string.Join(" or ", fuzzys.ToArray()) + ")");
                            }
                        }
                        else
                        {
                            filters[field.Key] = field.Value;
                        }
                    }
                }
                if (whereClause.Count > 0)
                {
                    filters.Add("WhereClause", string.Join(" AND ", whereClause.ToArray()));
                }
                filters["StationId"] = stationId;
                //StringObjectDictionary filters = new { StationId = stationId }.ToStringObjectDictionary();
                result.rows = BuilderFactory.DefaultBulder().ListStringObjectDictionary("GetWorkOrderFinished", filters);
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
            }
            return(result);
        }
        public CollectionInvokeResult <StringObjectDictionary> GetWorkOrderInfoAll(InputWorkOrderV2Param param)
        {
            CollectionInvokeResult <StringObjectDictionary> result = new CollectionInvokeResult <StringObjectDictionary> {
                Success = true
            };

            try
            {
                Guid                   stationId         = Guid.Parse(GetHttpHeader("StationId"));
                List <string>          whereClause       = new List <string>();
                StringObjectDictionary param_filters     = param.ToStringObjectDictionary(false);
                StringObjectDictionary filters           = new StringObjectDictionary();
                string                 workOrderDoStatus = "";
                filters["StationId"] = stationId;
                if (param_filters != null)
                {
                    foreach (var field in param_filters)
                    {
                        if (field.Key == "fuzzyFields")
                        {
                            List <string> fuzzys = new List <string>();
                            foreach (var fields in param.fuzzyFields)
                            {
                                fuzzys.Add(string.Format("{0} like '%{1}%'", fields.key, fields.value));
                            }
                            if (fuzzys.Count > 0)
                            {
                                whereClause.Add("(" + string.Join(" or ", fuzzys.ToArray()) + ")");
                            }
                        }
                        if (field.Key == "workOrderDoStatus")
                        {
                            workOrderDoStatus = param.workOrderDoStatus;
                        }
                        if (field.Key == "CheckInTime")
                        {
                            filters["CheckInTime"] = Convert.ToDateTime(field.Value);
                        }
                        else
                        {
                            filters[field.Key] = field.Value;
                        }
                    }
                }
                if (whereClause.Count > 0)
                {
                    filters.Add("WhereClause", string.Join(" AND ", whereClause.ToArray()));
                }
                List <StringObjectDictionary> _rows = new List <StringObjectDictionary>();
                String[] sq = workOrderDoStatus.Split(',');
                for (var i = 0; i < sq.Length; i++)
                {
                    if (sq[i] == "1")
                    {
                        _rows.AddRange(BuilderFactory.DefaultBulder().ListStringObjectDictionary("GetWorkOrderToResponse", filters));
                    }
                    if (sq[i] == "2")
                    {
                        _rows.AddRange(BuilderFactory.DefaultBulder().ListStringObjectDictionary("GetWorkOrderProcess", filters));
                    }
                    if (sq[i] == "3")
                    {
                        _rows.AddRange(BuilderFactory.DefaultBulder().ListStringObjectDictionary("GetWorkOrderProcessedServicing", filters));
                    }
                    if (sq[i] == "4")
                    {
                        _rows.AddRange(BuilderFactory.DefaultBulder().ListStringObjectDictionary("GetWorkOrderProcessedServiced", filters));
                    }
                    if (sq[i] == "5")
                    {
                        _rows.AddRange(BuilderFactory.DefaultBulder().ListStringObjectDictionary("GetWorkOrderCallBackFinished", filters));
                    }
                }
                result.rows = _rows;
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
            }
            return(result);
        }