protected void Page_Load(object sender, EventArgs e)
 {
     ITopClient client = GetProductTopClient();
     string key = Request["q"];
     string type = Request["t"];
     int? page_no = null;
     int? page_size = null;
     if (!string.IsNullOrEmpty(Request["page_no"]))
     {
         page_no = int.Parse(Request["page_no"]);
     }
     if (!string.IsNullOrEmpty(Request["page_size"]))
     {
         page_size = int.Parse(Request["page_size"]);
     }
     switch (type.ToLower())
     {
         case "item":
             ItemsSearchRequest req = new ItemsSearchRequest();
             req.Fields = TopFieldsHelper.GetItemFields_InList();
             req.Query = key;
             req.PageNo = page_no;
             req.PageSize = page_size;
             DataSource_Item = client.Execute(req, new ItemSearchListJsonParser());
             Server.Transfer("QueryResult_Item.aspx");
             break;
         //case "shop":
         //    ShopFacade shopFacade = new ShopFacade(AppKey, AppSecret);
         //    DataSource_Shop = shopFacade.GetShopByNick(key);
         //    Server.Transfer("QueryResult_Shop.aspx");
         //    break;
         default:
             throw new ArgumentException("参数类型不支持 - " + type);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Get user profile implementation method
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="channels"></param>
        /// <param name="fbAccessToken"></param>
        /// <returns></returns>
        public ResponseList<Profile> getUserProfile(string userId, string channels, string fbAccessToken)
        {
            ResponseList<Profile> response = new ResponseList<Profile>();

            if (string.IsNullOrEmpty(userId))
            {
                response.error="Missing Param userId";
                return response;
            }

            if(string.IsNullOrEmpty(channels))
            {
                response.error = "Missing Param channels";
                return response;
            }
            try
            {
                Proxy proxy = new Proxy();
                response.data = proxy.getUserProfile(userId, channels, fbAccessToken);
            }
            catch(Exception ex)
            {
                response.error = ex.Message;
                return response;
            }

            return response;
        }
Esempio n. 3
0
        /// <summary>
        /// Post message implementation
        /// </summary>
        /// <param name="message"></param>
        /// <param name="channels"></param>
        /// <param name="fbToken"></param>
        /// <param name="twToken"></param>
        /// <param name="twTokenSecret"></param>
        /// <returns></returns>
        public ResponseList<PostResponse> postMessage(string message, string channels, string fbToken, string twToken, string twTokenSecret)
        {
            ResponseList<PostResponse> response = new ResponseList<PostResponse>();

            if (string.IsNullOrEmpty(message))
            {
                response.error = "Missing Param message";
                return response;
            }

            if (string.IsNullOrEmpty(channels))
            {
                response.error = "Missing Param channel";
                return response;
            }

            if (channels.ToLower().Contains(Channel.Facebook.ToString().ToLower()) && string.IsNullOrEmpty(fbToken))
            {
                response.error = "Missing Param fbToken";
                return response;
            }

            if (channels.ToLower().Contains(Channel.Twitter.ToString().ToLower()) && string.IsNullOrEmpty(twToken))
            {
                response.error = "Missing Param twToken";
                return response;
            }

            if (channels.ToLower().Contains(Channel.Twitter.ToString().ToLower()) && string.IsNullOrEmpty(twTokenSecret))
            {
                response.error = "Missing Param twTokenSecret";
                return response;
            }

            try
            {
                Proxy proxy = new Proxy();
                response.data = proxy.postMessage(message, channels, "me", fbToken, twToken, twTokenSecret);
            }
            catch(Exception ex)
            {
                response.error = ex.Message;
                return response;
            }

            return response;
        }
Esempio n. 4
0
        /// <summary>
        /// Search user profile message
        /// </summary>
        /// <param name="query"></param>
        /// <param name="channels"></param>
        /// <returns></returns>
        public ResponseList<Message> searchMessage(string query, string channels)
        {
            ResponseList<Message> response = new ResponseList<Message>();

            if (string.IsNullOrEmpty(query))
            {
                response.error = "Missing Param query";
                return response;
            }

            if (string.IsNullOrEmpty(channels))
            {
                response.error = "Missing Param channels";
                return response;
            }

            try
            {
                Proxy proxy = new Proxy();
                response.data = proxy.searchMessage(query, channels);
            }
            catch (Exception ex)
            {
                response.error = ex.Message;
                return response;
            }

            return response;
        }
Esempio n. 5
0
        public static async Task <ResponseList <T2> > getAdvanced(IEnumerable <Guid> guids, List <string> fields = null, string filterQuery = "", List <ListQuery> listsQuery = null, string remoteEndpoint = null, string remoteClassName = "", string customAction = "getAdvanced", List <AdditionalParametersQuery> additionalParameters = null)
        {
            if (remoteEndpoint == null)
            {
                remoteEndpoint = Constants.RestAPI;
            }
            try
            {
                var secureToken = GatewaySecure.GatewaySecure.GetToken(Constants.GatewaySecureBlowfish);
                if (TextHelper.IsNullOrWhiteSpace(remoteEndpoint) || TextHelper.IsNullOrWhiteSpace(remoteClassName))
                {
                    return(new ResponseList <T2> {
                        state = WebServiceV2.WebRequestState.GenericError, errorMessage = "endpoint or remote class name not set"
                    });
                }
                var fieldsStr = ""; if (fields == null)
                {
                    fieldsStr = "*";
                }
                else
                {
                    fieldsStr = string.Join(",", fields);
                }
                var guidsListStr = new List <string>();
                //string url = remoteEndpoint + "?action=get&remoteClassName="+remoteClassName+"&guid="+guidStr+"&filterQuery="+filterQuery;
                var parameters = new AdvancedGetQuery {
                    filter = filterQuery, additionalParameters = additionalParameters
                };
                parameters.lists = listsQuery;
                if (guids == null)
                {
                    parameters.isAnyGuid = true;
                }
                else
                {
                    foreach (Guid val in guids)
                    {
                        guidsListStr.Add(val.ToString());
                    }
                }
                parameters.guids = guidsListStr;

                string url = remoteEndpoint + "?action=" + customAction + "&remoteClassName=" + remoteClassName + "&UserToken=" + Constants.CurrentUserToken + "&AppToken=" + Constants.RandomAppToken + "&secureToken=" + secureToken;

                if (Constants.IsDownloadingToken)
                {                 //delay
                    System.Threading.Tasks.Task.Delay(Constants.TimeoutMicroPerToken).Wait();
                }
                if (Constants.IsDownloadingToken)
                {                 //delay
                    System.Threading.Tasks.Task.Delay(Constants.TimeoutMicroPerToken).Wait();
                }
                if (Constants.IsDownloadingToken)
                {                 //delay
                    System.Threading.Tasks.Task.Delay(Constants.HTTPTimeoutMini).Wait();
                }

                WebServiceV2 webRequest = new WebServiceV2();
                var          pairs      = new List <KeyValuePair <string, string> >();
                pairs.Add(new KeyValuePair <string, string>("parameters", JsonConvert.SerializeObject(parameters)));
                var result = await webRequest.UrlToString(url, pairs);

                if (result == null || result.Length < 1)
                {
                    return(new ResponseList <T2> {
                        errorMessage = "no response", state = WebServiceV2.WebRequestState.TimeOut
                    });
                }
                ResponseList <T2> obj = JsonConvert.DeserializeObject <ResponseList <T2> >(result);
                if (obj.errorMessage != null)
                {
                    Debug.WriteLine(obj.errorMessage + Environment.NewLine);
                }
                if (obj.state == WebServiceV2.WebRequestState.InvalidUserToken)
                {
                    if ((DateTime.Now - Constants.LastTokenRequestDateTime) > Constants.TokenCheckPeriod)
                    {                     //richiedi nuovo token e poi fai insert
                        Constants.LastTokenRequestDateTime = DateTime.Now;
                        var resToken = await AccessToken.getFromGeneric(Constants.CurrentUserSocialProvider, Constants.CurrentUserUsername, Constants.CurrentUserPassword, Constants.CurrentUserSocialID, Constants.CurrentUserLastAccessToken);

                        if (resToken.items.Count == 0)
                        {
                            return(new ResponseList <T2> {
                                state = WebServiceV2.WebRequestState.NotAuthorized, errorMessage = "unable to obtain access token"
                            });
                        }
                        return(await getAdvanced(guids, fields, filterQuery, listsQuery, remoteEndpoint, remoteClassName, customAction, additionalParameters));
                    }
                    else
                    {
                        return(obj);                        //che sarà invalido
                    }
                }
                else
                {
                    return(obj);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("exception in getAdvanced: " + ex.Message);
                if (ex.GetType() == typeof(TimeoutException))
                {
                    return(new ResponseList <T2> {
                        errorMessage = "timeout", state = WebServiceV2.WebRequestState.TimeOut
                    });
                }
                if (ex.GetType() == typeof(TaskCanceledException))
                {
                    return(new ResponseList <T2> {
                        errorMessage = "task cancelled", state = WebServiceV2.WebRequestState.TaskCancelled
                    });
                }
                return(new ResponseList <T2> {
                    errorMessage = "exception", state = WebServiceV2.WebRequestState.GenericNetworkError
                });
            }
        }
Esempio n. 6
0
        public static async Task <ResponseList <T2> > getBase(Guid guid, string remoteEndpoint, string remoteClassName, string filterQuery, List <ListQuery> listsQuery)
        {
            try
            {
                var secureToken = GatewaySecure.GatewaySecure.GetToken(Constants.GatewaySecureBlowfish);
                if (TextHelper.IsNullOrWhiteSpace(remoteEndpoint) || TextHelper.IsNullOrWhiteSpace(remoteClassName))
                {
                    return(new ResponseList <T2> {
                        state = WebServiceV2.WebRequestState.GenericError, errorMessage = "endpoint or remote class name not set"
                    });
                }
                var guidStr = "";
                if (guid == Guid.Empty)
                {
                    guidStr = "any";
                }
                else
                {
                    guidStr = guid.ToString();
                }
                //string url = remoteEndpoint + "?action=get&remoteClassName="+remoteClassName+"&guid="+guidStr+"&filterQuery="+filterQuery;
                var parameters = new GetQuery {
                    guid = guidStr, filter = filterQuery
                };
                parameters.lists = listsQuery;

                if (Constants.IsDownloadingToken)
                {                 //delay
                    System.Threading.Tasks.Task.Delay(Constants.TimeoutMicroPerToken).Wait();
                }
                if (Constants.IsDownloadingToken)
                {                 //delay
                    System.Threading.Tasks.Task.Delay(Constants.TimeoutMicroPerToken).Wait();
                }
                if (Constants.IsDownloadingToken)
                {                 //delay
                    System.Threading.Tasks.Task.Delay(Constants.HTTPTimeoutMini).Wait();
                }
                var    UserToken = Constants.CurrentUserToken;
                string url       = remoteEndpoint + "?action=get&remoteClassName=" + remoteClassName + "&UserToken=" + UserToken + "&AppToken=" + Constants.RandomAppToken + "&secureToken=" + secureToken;
                var    pairs     = new List <KeyValuePair <string, string> >();
                pairs.Add(new KeyValuePair <string, string>("parameters", JsonConvert.SerializeObject(parameters)));

                WebServiceV2 webRequest = new WebServiceV2();
                var          result     = await webRequest.UrlToString(url, pairs);

                if (result == null || result.Length < 1)
                {
                    return(new ResponseList <T2> {
                        errorMessage = "no response", state = WebServiceV2.WebRequestState.TimeOut
                    });
                }
                ResponseList <T2> obj = new ResponseList <T2>();
                try
                {
                    obj = JsonConvert.DeserializeObject <ResponseList <T2> >(result);
                    if (obj.errorMessage != null)
                    {
                        Debug.WriteLine(obj.errorMessage + Environment.NewLine);
                    }
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                    return(new ResponseList <T2> {
                        state = WebServiceV2.WebRequestState.GenericError
                    });
                }

                if (obj.state == WebServiceV2.WebRequestState.InvalidUserToken)
                {
                    Debug.WriteLine("This token is invalid: " + UserToken);
                    if ((DateTime.Now - Constants.LastTokenRequestDateTime) > Constants.TokenCheckPeriod)
                    {                     //richiedi nuovo token e poi fai insert
                        Constants.LastTokenRequestDateTime = DateTime.Now;
                        var resToken = await AccessToken.getFromGeneric(Constants.CurrentUserSocialProvider, Constants.CurrentUserUsername, Constants.CurrentUserPassword, Constants.CurrentUserSocialID, Constants.CurrentUserLastAccessToken);

                        if (resToken.items.Count == 0)
                        {
                            return(new ResponseList <T2> {
                                state = WebServiceV2.WebRequestState.NotAuthorized, errorMessage = "unable to obtain access token"
                            });
                        }
                        //Constants.CurrentUserToken = resToken.items.FirstOrDefault().data.AccessTokenValue;
                        return(await getBase(guid, remoteEndpoint, remoteClassName, filterQuery, listsQuery));
                    }
                    else
                    {
                        return(obj);                        //che sarà invalido
                    }
                }
                else
                {
                    return(obj);
                }
            }
            catch (Exception ex)
            {
                if (ex.GetType() == typeof(TimeoutException))
                {
                    return(new ResponseList <T2> {
                        errorMessage = "timeout", state = WebServiceV2.WebRequestState.TimeOut
                    });
                }
                if (ex.GetType() == typeof(TaskCanceledException))
                {
                    return(new ResponseList <T2> {
                        errorMessage = "task cancelled", state = WebServiceV2.WebRequestState.TaskCancelled
                    });
                }
                return(new ResponseList <T2> {
                    errorMessage = "exception", state = WebServiceV2.WebRequestState.GenericNetworkError
                });
            }
        }
Esempio n. 7
0
        public ResponseList <List <CategoryModel> > GetCategories(RequestModel model)
        {
            string ReturnLink = string.Empty;


            string queryString   = string.Empty;
            string orderbyString = string.Empty;
            string queryCount    = string.Empty;
            int    TotalRecords  = 0;
            int    recoardFrom   = ((model.page - 1) * 10) + 1;
            int    recoardTo     = model.page * 10;

            ResponseList <List <CategoryModel> > returnModel = new ResponseList <List <CategoryModel> >();

            try
            {
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    if (!string.IsNullOrEmpty(model.sortby))
                    {
                        if (model.sortby == "atoz")
                        {
                            orderbyString = " order by name ";
                        }

                        else if (model.sortby == "ztoa")
                        {
                            orderbyString = " order by name desc ";
                        }

                        else if (model.sortby == "newtoold")
                        {
                            orderbyString = " order by created desc";
                        }

                        else if (model.sortby == "oldtonew")
                        {
                            orderbyString = " order by created";
                        }
                    }
                    else
                    {
                        orderbyString = " order by created desc";
                    }


                    queryCount  = @"SELECT count(id) totalrecord FROM service_category  where is_deleted = 0 ";
                    queryString = @"select * from (SELECT ROW_NUMBER() OVER (" + orderbyString + @") row_num, id, name, image, status FROM service_category 
                                    where is_deleted = 0 ";

                    if (model.filterby == "name")
                    {
                        queryString += " and name like @keyword ";
                        queryCount  += " and name like @keyword ";
                    }
                    if (!string.IsNullOrEmpty(model.keyword2))
                    {
                        queryString += " and status = @keyword2 ";
                        queryCount  += " and status = @keyword2 ";
                    }

                    queryString += " ) t where row_num between " + recoardFrom + " and " + recoardTo;


                    returnModel.result = DB.QuerySql <CategoryModel>(queryString, new { keyword = "%" + model.keyword + "%", keyword2 = model.keyword2 }).ToList();
                    TotalRecords       = DB.QuerySql <int>(queryCount, model).FirstOrDefault();


                    returnModel.totalDocs     = TotalRecords;
                    returnModel.limit         = 10;
                    returnModel.totalPages    = (TotalRecords / 10) + ((TotalRecords % 10) > 0 ? 1 : 0);
                    returnModel.hasNextPage   = model.page < returnModel.totalPages;
                    returnModel.hasPrevPage   = returnModel.totalPages > 1 && model.page > 1;
                    returnModel.page          = model.page;
                    returnModel.nextPage      = model.page + 1;
                    returnModel.pagingCounter = recoardFrom;
                    returnModel.prevPage      = model.page - 1;
                }

                returnModel.status  = (int)EnumClass.ResponseState.Success;
                returnModel.msg     = "Service Category List";
                returnModel.success = true;
            }
            catch (Exception ex)
            {
                returnModel.msg    = ex.Message;
                returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                LoggingRepository.SaveException(ex);
                returnModel.success = false;
            }
            return(returnModel);
        }
Esempio n. 8
0
        public ResponseList<List<ProviderModel>> GetProviderRequestList(RequestModel model)
        {
            // Not in use currently

            string ReturnLink = string.Empty;

            string queryString = string.Empty;
            string queryCount = string.Empty;
            int TotalRecords = 0;
            ResponseList<List<ProviderModel>> returnModel = new ResponseList<List<ProviderModel>>();
            try
            {
                if (model != null)
                {
                    using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                    {
                        queryCount = @"SELECT count(id) totalrecord FROM provider where is_deleted = 0 ";
                        queryString = @"SELECT top 10 id,user_id, first_name, last_name, profile_picture, iban_no, contact_no, country_code, otp, email, is_policy_accepted, is_mobile_verified, is_email_verified, admin_approve, is_online, is_notification_enable, auth_token, created_by, status, created, modified FROM provider where is_deleted = 0 ";


                        if (!string.IsNullOrEmpty(model.filterby) && !string.IsNullOrEmpty(model.keyword))
                        {
                            if (model.filterby == "name")
                            {
                                queryString += " and (first_name like @keyword or last_name like @keyword) ";
                                queryCount += " and (first_name like @keyword or last_name like @keyword) ";
                            }

                            if (model.filterby == "contact_number")
                            {
                                queryString += " and contact_no like @keyword ";
                                queryCount += " and contact_no like @keyword ";
                            }
                        }

                        if (!string.IsNullOrEmpty(model.sortby))
                        {
                            if (model.sortby == "atoz")
                                queryString += " order by first_name ";

                            if (model.sortby == "ztoa")
                                queryString += " order by first_name desc ";

                            if (model.sortby == "newtoold")
                                queryString += " order by created desc";

                            if (model.sortby == "oldtonew")
                                queryString += " order by created";
                        }
                        else
                            queryString += " order by created desc";

                        returnModel.result = null;
                        TotalRecords = 0;


                        returnModel.totalDocs = TotalRecords;
                        returnModel.limit = 10;
                        returnModel.totalPages = TotalRecords / 10 + (TotalRecords % 10) > 0 ? 1 : 0;

                        returnModel.page = 1;


                    }
                    returnModel.status = (int)EnumClass.ResponseState.Success;
                    returnModel.msg = "Provider Request List";
                    returnModel.success = true;
                }
                else
                {
                    returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                    returnModel.msg = "Please submit proper data";
                    returnModel.success = false;
                }

            }
            catch (Exception ex)
            {
                returnModel.msg = ex.Message;
                returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                //LoggingRepository.SaveException(ex);
                returnModel.success = false;
            }
            return returnModel;
        }
Esempio n. 9
0
        public async Task <string> BuildWebBrowserDocument(ResponseList responseList)
        {
            var html = await BuildHtml(responseList, false);

            return(mHtmlHeader + html + "</body>\n</html>");
        }
Esempio n. 10
0
                    public override bool ModLoad()
                    {
                        HelpResponses = new ResponseList();
                        string loadDir;
                        string loadFile;
                        if (MyBase.ConfigManager.Configuration.ContainsKey("services-help1"))
                        {
                            OptionsList myConfig = MyBase.ConfigManager.Configuration["services-help1"];
                            if (myConfig.ContainsKey("help-file-directory1"))
                            {
                                loadDir = myConfig["help-file-directory1"];
                            }
                            else
                            {
                                loadDir = "help/";
                            }

                            if (myConfig.ContainsKey("help-language1"))
                            {
                                loadFile = myConfig["help-language1"];
                            }
                            else
                            {
                                loadFile = "en.lang";
                            }

                        }
                        else
                        {
                            MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "Failed to find help configuration block", "", "", "");
                            return false;
                        }
                        if (new DirectoryInfo(loadDir).Exists == false)
                        {
                            MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "Failed to find help file directory", "Using default of \"help/\"", "", "");
                            loadDir = "help/";
                            if (new DirectoryInfo(loadDir).Exists == false)
                            {
                                MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "Failed to find help file directory", "", "", "");
                                return false;
                            }
                        }

                        if (File.Exists(loadDir + loadFile) == false)
                        {
                            MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "Failed to find language file", "Using default of \"en.lang\"", "", "");
                            loadDir = "en.lang";
                            if (File.Exists(loadDir + loadFile) == false)
                            {
                                MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "Failed to find language file", "", "", "");
                                return false;
                            }
                        }

                        System.Xml.XmlDocument XMLDOC = new System.Xml.XmlDocument();
                        XMLDOC.Load(loadDir + loadFile);

                        string tName;
                        string tErrorName;
                        string tErrorValue;
                        string[] tErrorValues;
                        BlackLight.Services.Modules.Help.Lists.ErrorList tErrors = new BlackLight.Services.Modules.Help.Lists.ErrorList();
                        BlackLight.Services.Modules.Help.Lists.CommandList tCommands = new BlackLight.Services.Modules.Help.Lists.CommandList();
                        foreach (XmlNode tNode in XMLDOC.DocumentElement)
                        {
                            if (tNode.Name == "service")
                            {
                                if (tNode.Attributes["name"] != null && tNode.Attributes["name"].Value != "")
                                {
                                    tName = tNode.Attributes["name"].Value;
                                }
                                else
                                {
                                    MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "XML Data Corruption", "", "", "");
                                    //MessageBox.Show("XML Data corruption");
                                    return false;
                                }

                                foreach (XmlNode tNodeInner in tNode)
                                {
                                    if (tNodeInner.Name == "responses")
                                    {

                                        foreach (XmlNode tErrorNode in tNodeInner)
                                        {
                                            if (tErrorNode.Attributes["name"] != null && tErrorNode.Attributes["name"].Value != "")
                                            {
                                                tErrorName = tErrorNode.Attributes["name"].Value;
                                            }
                                            else
                                            {
                                                MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "XML Data Corruption", "", "", "");
                                                //Show("XML Data corruption");
                                                return false;
                                            }
                                            if (tErrorNode.InnerText != null&& tErrorNode.InnerText != "")
                                            {
                                                tErrorValue = tErrorNode.InnerText.Trim();
                                            }
                                            else
                                            {
                                                MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "XML Data Corruption", "", "", "");
                                                //MessageBox.Show("XML Data corruption");
                                                return false;
                                            }
                                            tErrorValue = tErrorValue.Replace("  ", " ");
                                            tErrorValue = tErrorValue.Replace("  ", " ");
                                            tErrorValue = tErrorValue.Replace("`B", "");
                                            tErrorValue = tErrorValue.Replace("`U", "");
                                            tErrorValue = tErrorValue.Replace("\r\n", "\r");
                                            tErrorValue = tErrorValue.Replace("\n", "\r");
                                            tErrorValues = tErrorValue.Split('\r');
                                            tErrors.Add(new ServiceErrorResponse(tErrorName, tErrorValues));
                                        }
                                    }
                                    else if (tNodeInner.Name == "commands")
                                    {
                                        if (GetAllCommands(tNodeInner, tCommands) == false)
                                        {
                                            return false;
                                        }
                                    }
                                    else
                                    {
                                        MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "XML Data Corruption", "", "", "");
                                        //MessageBox.Show("XML Data corruption");
                                        return false;
                                    }
                                }
                                HelpResponses.Add(new ServiceResponses(tName, tErrors, tCommands));
                            }
                            else
                            {
                                MyBase.Core.SendLogMessage("Help", "ModLoad", BlackLight.Services.Error.Errors.ERROR, "XML Data Corruption", "", "", "");
                                //MessageBox.Show("XML Data corruption");
                                return false;
                            }
                        }
                        //ListLoaded()
                        return true;
                    }
Esempio n. 11
0
        public ResponseList <List <BookingModel> > GetBookings(RequestModel model)
        {
            string ReturnLink = string.Empty;

            string queryString   = string.Empty;
            string queryCount    = string.Empty;
            int    TotalRecords  = 0;
            string orderbyString = string.Empty;
            int    recoardFrom   = ((model.page - 1) * 10) + 1;
            int    recoardTo     = model.page * 10;

            ResponseList <List <BookingModel> > returnModel = new ResponseList <List <BookingModel> >();

            try
            {
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    if (!string.IsNullOrEmpty(model.sortby))
                    {
                        if (model.sortby == "newtoold")
                        {
                            orderbyString = " order by booking.created desc";
                        }
                        if (model.sortby == "oldtonew")
                        {
                            orderbyString = " order by booking.created";
                        }
                    }
                    else
                    {
                        orderbyString = " order by booking.created desc";
                    }



                    queryCount = @"SELECT count(booking.id) totalrecord FROM booking
                                    left join customer on customer.id = customer_id
                                    left join provider on provider.id = provider_id
                                    left join service_category on service_category.id = service_id
                                    where booking.is_deleted = 0 ";

                    queryString = @"select * from (SELECT ROW_NUMBER() OVER (" + orderbyString + @") row_num, booking.id, LTRIM(RTRIM(booking.booking_code)) as booking_code, coupon_id, booking_amount, address_title, 
                                    landmark, booking.longitude, booking.latitude, booking.description, booking.booking_status, provider_cancellation_fee, 
                                    booking.status, booking.created, booking.payment_type,
                                    service_category.name service_name, LTRIM(RTRIM((CONCAT(provider.first_name,' ',provider.last_name)))) provider_name,
                                    CONCAT(customer.first_name,' ',customer.last_name) customer_name,
                                    provider_rating, provider_rating_description, distance
                                    from booking
                                    left join customer on customer.id = customer_id
                                    left join provider on provider.id = provider_id
                                    left join service_category on service_category.id = service_id
                                    where booking.is_deleted = 0 ";


                    if (model != null)
                    {
                        if (model.filterby == "booking_code")
                        {
                            queryString += " and booking.booking_code like @keyword ";
                            queryCount  += " and booking.booking_code like @keyword ";
                        }
                        else if (model.filterby == "provider_name")
                        {
                            queryString += " and ((provider.first_name+' '+provider.last_name like @keyword) or provider.first_name like @keyword or provider.last_name like @keyword) ";
                            queryCount  += " and ((provider.first_name+' '+provider.last_name like @keyword) or provider.first_name like @keyword or provider.last_name like @keyword) ";
                        }
                        else if (model.filterby == "customer_name")
                        {
                            queryString += " and ((customer.first_name+' '+customer.last_name like @keyword) or customer.first_name like @keyword or customer.last_name like @keyword) ";
                            queryCount  += " and ((customer.first_name+' '+customer.last_name like @keyword) or customer.first_name like @keyword or customer.last_name like @keyword) ";
                        }
                        else if (model.filterby == "service_name")
                        {
                            queryString += " and service_category.name like @keyword ";
                            queryCount  += " and service_category.name like @keyword ";
                        }

                        if (model.filterby2 == "provider_id")
                        {
                            queryString += " and booking.provider_id = @keyword2 ";
                            queryCount  += " and booking.provider_id = @keyword2 ";
                        }
                    }

                    queryString += " ) t where row_num between " + recoardFrom + " and " + recoardTo;

                    returnModel.result = DB.QuerySql <BookingModel>(queryString, new { keyword = "%" + model.keyword + "%", keyword2 = model.keyword2 }).ToList();
                    TotalRecords       = DB.QuerySql <int>(queryCount, new { keyword = "%" + model.keyword + "%", keyword2 = model.keyword2 }).FirstOrDefault();

                    if (returnModel.result != null)
                    {
                        foreach (var item in returnModel.result)
                        {
                            item.booking_receipts = DB.QuerySql <BookingReceiptModel>("select receipt_status, receipt_amount, customer_receipt_description, provider_receipt_description from booking_receipt where is_deleted = 0 and booking_id = @BookingId ", new { BookingId = item.id }).ToList();
                        }
                    }

                    returnModel.totalDocs     = TotalRecords;
                    returnModel.limit         = 10;
                    returnModel.totalPages    = (TotalRecords / 10) + ((TotalRecords % 10) > 0 ? 1 : 0);
                    returnModel.hasNextPage   = model.page < returnModel.totalPages;
                    returnModel.hasPrevPage   = returnModel.totalPages > 1 && model.page > 1;
                    returnModel.page          = model.page;
                    returnModel.nextPage      = model.page + 1;
                    returnModel.pagingCounter = recoardFrom;
                    returnModel.prevPage      = model.page - 1;
                }

                returnModel.status  = (int)EnumClass.ResponseState.Success;
                returnModel.msg     = "Booking List";
                returnModel.success = true;
            }
            catch (Exception ex)
            {
                returnModel.msg     = ex.Message;
                returnModel.status  = (int)EnumClass.ResponseState.ResposityError;
                returnModel.success = false;
                LoggingRepository.SaveException(ex);
            }
            return(returnModel);
        }
Esempio n. 12
0
        private void BindCurrentSource()
        {
            #region 关键字
            string query = Request["query"];
            txtQuery.Text = query;
            #endregion

            #region 参与打折
            bool?discount = null;
            if (!string.IsNullOrEmpty(Request["discount"]))
            {
                discount = bool.Parse(Request["discount"]);
            }
            cbDiscount.Checked = discount.HasValue && discount.Value;
            #endregion

            #region 橱窗推荐
            bool?showCase = null;
            if (!string.IsNullOrEmpty(Request["showCase"]))
            {
                showCase = bool.Parse(Request["showCase"]);
            }
            cbShowCase.Checked = showCase.HasValue && showCase.Value;
            #endregion

            #region 类型
            string type = "onsale";
            if (!string.IsNullOrEmpty(Request["type"]))
            {
                type = Request["type"];
            }
            if (type.Equals("onsale", StringComparison.OrdinalIgnoreCase))
            {
                cbDiscount.Enabled = true;
                cbShowCase.Enabled = true;
            }
            else
            {
                cbDiscount.Enabled = false;
                cbShowCase.Enabled = false;
            }
            #endregion

            #region 过滤子类
            string filter = "all";
            if (!string.IsNullOrEmpty(Request["filter"]))
            {
                filter = Request["filter"];
            }
            TreeNode node = tvCategory.FindNode(type + "/" + filter);
            if (node != null)
            {
                node.Selected = true;
            }
            #endregion

            #region 分页
            int pageIndex = ucCtrlPager.PageIndex + 1;
            int pageSize  = ucCtrlPager.PageSize;
            #endregion

            ITopClient  client = GetProductTopClient();
            ITopRequest req    = GetTopRequest(query, discount, showCase, type, filter, pageIndex, pageSize);
            if (req != null)
            {
                ResponseList <Item> rsp = client.Execute(req, new ItemListJsonParser(), CurrentSessionKey);

                ucCtrlPager.TotalCount = (int)rsp.TotalResults;
                rptItemList.DataSource = rsp.Content;
                rptItemList.DataBind();
            }
        }
Esempio n. 13
0
        public ResponseList <List <NotificationModel> > GetNotifications(NotificationModel model)
        {
            string ReturnLink = string.Empty;

            string queryString   = string.Empty;
            string orderbyString = string.Empty;
            string queryCount    = string.Empty;
            int    TotalRecords  = 0;
            int    recoardFrom   = ((model.page - 1) * 10) + 1;
            int    recoardTo     = model.page * 10;
            ResponseList <List <NotificationModel> > returnModel = new ResponseList <List <NotificationModel> >();

            try
            {
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    if (model != null)
                    {
                        if (!string.IsNullOrEmpty(model.sortby))
                        {
                            if (model.sortby == "newtoold")
                            {
                                orderbyString = " order by created desc";
                            }

                            if (model.sortby == "oldtonew")
                            {
                                orderbyString = " order by created";
                            }
                        }
                        else
                        {
                            orderbyString = " order by created desc";
                        }

                        queryCount  = @"SELECT count(id) totalrecord FROM notification where is_deleted = 0 ";
                        queryString = @"select * from (SELECT ROW_NUMBER() OVER (" + orderbyString + @") row_num, id, user_id, notification, notification_type, 
                                        for_admin, status, is_deleted, created, modified FROM notification where is_deleted = 0 ";

                        if (!string.IsNullOrEmpty(model.filterby) && !string.IsNullOrEmpty(model.keyword))
                        {
                            if (model.filterby == "type")
                            {
                                queryString += " and notification_type = @keyword ";
                                queryCount  += " and notification_type = @keyword ";
                            }
                        }

                        queryString += " ) t where row_num between " + recoardFrom + " and " + recoardTo;

                        returnModel.result = DB.QuerySql <NotificationModel>(queryString, new
                        {
                            keyword = model.keyword,
                        }).ToList();


                        TotalRecords = DB.QuerySql <int>(queryCount, new
                        {
                            keyword = model.keyword,
                        }).FirstOrDefault();
                    }

                    returnModel.totalDocs     = TotalRecords;
                    returnModel.limit         = 10;
                    returnModel.totalPages    = (TotalRecords / 10) + ((TotalRecords % 10) > 0 ? 1 : 0);
                    returnModel.hasNextPage   = model.page < returnModel.totalPages;
                    returnModel.hasPrevPage   = returnModel.totalPages > 1 && model.page > 1;
                    returnModel.page          = model.page;
                    returnModel.nextPage      = model.page + 1;
                    returnModel.pagingCounter = recoardFrom;
                    returnModel.prevPage      = model.page - 1;
                }



                returnModel.status  = (int)EnumClass.ResponseState.Success;
                returnModel.msg     = "Notification List";
                returnModel.success = true;

                returnModel.totalDocs  = returnModel.result.Count;
                returnModel.limit      = 10;
                returnModel.totalPages = returnModel.totalDocs / 10 + (returnModel.totalDocs % 10) > 0 ? 1 : 0;

                returnModel.page = 1;


                //LoggingRepository.SaveException(ex);
            }
            catch (Exception ex)
            {
                returnModel.msg    = ex.Message;
                returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                //LoggingRepository.SaveException(ex);
            }
            return(returnModel);
        }
Esempio n. 14
0
        public ResponseList <PaymentModel> GetPayments(RequestModel model)
        {
            string queryString   = string.Empty;
            string orderbyString = string.Empty;
            string queryCount    = string.Empty;
            int    TotalRecords  = 0;
            int    recoardFrom   = ((model.page - 1) * 10) + 1;
            int    recoardTo     = model.page * 10;

            ResponseList <PaymentModel> returnModel = new ResponseList <PaymentModel>();

            returnModel.result = new PaymentModel();
            try
            {
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    if (!string.IsNullOrEmpty(model.sortby))
                    {
                        //if (model.sortby == "atoz")
                        //    queryString += " order by name ";

                        //if (model.sortby == "ztoa")
                        //    queryString += " order by name desc ";

                        if (model.sortby == "newtoold")
                        {
                            orderbyString = " order by transaction_date desc";
                        }

                        if (model.sortby == "oldtonew")
                        {
                            orderbyString = " order by transaction_date";
                        }
                    }
                    else
                    {
                        orderbyString = " order by transaction_date desc";
                    }

                    queryCount = @"select count(booking_platform_fee.id) totalrecord from booking_platform_fee
                                    left join booking on booking.id = booking_id
                                    left join customer on customer.id = customer_id
                                    left join provider on provider.id = provider_id
                                    where booking_platform_fee.is_deleted = 0 ";

                    queryString = @"select * from (SELECT ROW_NUMBER() OVER (" + orderbyString + @") row_num, booking_platform_fee.id,booking.booking_code,concat(customer.first_name,' ',customer.last_name) customer_name,
                                    concat(provider.first_name,' ',provider.last_name) provider_name, transaction_id, transaction_date, iban_no, booking_platform_fee.amount 
                                    from booking_platform_fee
                                    left join booking on booking.id = booking_id
                                    left join customer on customer.id = customer_id
                                    left join provider on provider.id = provider_id
                                    where booking_platform_fee.is_deleted = 0 ";

                    if (model.filterby == "provider_name")
                    {
                        queryString += " and ((provider.first_name+' '+provider.last_name like @keyword) or provider.first_name like @keyword or provider.last_name like @keyword) ";
                        queryCount  += " and ((provider.first_name+' '+provider.last_name like @keyword) or provider.first_name like @keyword or provider.last_name like @keyword) ";
                    }
                    if (model.filterby == "customer_name")
                    {
                        queryString += " and ((customer.first_name+' '+customer.last_name like @keyword) or customer.first_name like @keyword or customer.last_name like @keyword) ";
                        queryCount  += " and ((customer.first_name+' '+customer.last_name like @keyword) or customer.first_name like @keyword or customer.last_name like @keyword) ";
                    }
                    if (model.filterby == "transaction_id")
                    {
                        queryString += " and booking_platform_fee.transaction_id like @keyword ";
                        queryCount  += " and booking_platform_fee.transaction_id like @keyword ";
                    }

                    if (model.startdate != DateTime.MinValue)
                    {
                        queryString += " and CONVERT(date, booking_platform_fee.transaction_date) >= CONVERT(date, @StartDate) ";
                        queryCount  += " and CONVERT(date, booking_platform_fee.transaction_date) >= CONVERT(date, @StartDate) ";
                    }

                    if (model.enddate != DateTime.MinValue)
                    {
                        queryString += " and CONVERT(date, booking_platform_fee.transaction_date) <= CONVERT(date, @EndDate) ";
                        queryCount  += " and CONVERT(date, booking_platform_fee.transaction_date) <= CONVERT(date, @EndDate) ";
                    }

                    queryString += " ) t where row_num between " + recoardFrom + " and " + recoardTo;


                    returnModel.result.PaymentList = DB.QuerySql <PaymentsModel>(queryString, new { keyword = "%" + model.keyword + "%", EndDate = model.enddate, StartDate = model.startdate }).ToList();

                    returnModel.result.TotalEarning = DB.QuerySql <decimal>(@"select sum(booking_platform_fee.amount) totalearning from booking_platform_fee
                                    left join booking on booking.id = booking_id
                                    left join customer on customer.id = customer_id
                                    left join provider on provider.id = provider_id
                                    where booking_platform_fee.is_deleted = 0 ").FirstOrDefault();

                    TotalRecords = DB.QuerySql <int>(queryCount, new { keyword = "%" + model.keyword + "%", EndDate = model.enddate, StartDate = model.startdate }).FirstOrDefault();


                    returnModel.totalDocs     = TotalRecords;
                    returnModel.limit         = 10;
                    returnModel.totalPages    = (TotalRecords / 10) + ((TotalRecords % 10) > 0 ? 1 : 0);
                    returnModel.hasNextPage   = model.page < returnModel.totalPages;
                    returnModel.hasPrevPage   = returnModel.totalPages > 1 && model.page > 1;
                    returnModel.page          = model.page;
                    returnModel.nextPage      = model.page + 1;
                    returnModel.pagingCounter = recoardFrom;
                    returnModel.prevPage      = model.page - 1;
                }

                returnModel.status  = (int)EnumClass.ResponseState.Success;
                returnModel.msg     = "Payment List";
                returnModel.success = true;
            }
            catch (Exception ex)
            {
                returnModel.msg    = ex.Message;
                returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                LoggingRepository.SaveException(ex);
                returnModel.success = false;
            }
            return(returnModel);
        }
Esempio n. 15
0
        public async Task <ResponseList <Product> > Get(ProductRequest request)
        {
            if (string.IsNullOrEmpty(request.OrderBy))
            {
                request.OrderBy = "Id";
            }

            if (string.IsNullOrEmpty(request.OrderDirection))
            {
                request.OrderDirection = "desc";
            }

            Expression <Func <Product, bool> > filter = null;

            if (!string.IsNullOrEmpty(request.Search))
            {
                request.Search = request.Search.ToLower();
                filter         = f => f.Id.ToString().Contains(request.Search) || f.Name.ToLower().Contains(request.Search);
            }
            var result = new ResponseList <Product>();

            try
            {
                var rowCount = -1;
                IQueryable <Product> query = _dbContext.Products;
                if (filter != null)
                {
                    query = query.Where(filter);
                }
                if (request.OrderDirection == "asc")
                {
                    if (request.OrderBy != null)
                    {
                        query = query.OrderBy(request.OrderBy);
                    }
                }
                else
                {
                    if (request.OrderBy != null)
                    {
                        query = query.OrderByDescending(request.OrderBy);
                    }
                }

                if (request.Page != 0 && request.PageSize != 0)
                {
                    if (request.PageSize <= 0)
                    {
                        request.PageSize = 20;
                    }
                    rowCount = await query.CountAsync();

                    if (rowCount <= request.PageSize || request.Page <= 0)
                    {
                        request.Page = 1;
                    }
                    int excludedRows = (request.Page - 1) * request.PageSize;
                    query = query.Skip(excludedRows).Take(request.PageSize);
                }

                result.Result = await query.ToListAsync();

                result.TotalCount  = rowCount;
                result.PageSize    = request.PageSize;
                result.CurrentPage = request.Page;
            }
            catch (Exception ex)
            {
                result.Result    = null;
                result.Exception = ex;
            }
            return(result);
        }
Esempio n. 16
0
         private bool loadfile(string path)
         {

            string f = path;
            bool success = false;
            if (isResponse(f))
            {
                responsedll = f;
                List<string> l = ResponseLoader.GetResponseList(responsedll);
                if (System.IO.File.Exists(f) && (l.Count>0))
                    if (!isRecentResLib(f))
                        reslist.DropDownItems.Add(f);
                status("Found " + l.Count + " responses.  ");
                _rl = new ResponseList(l);
                _rl.ResponseSelected+=new DebugDelegate(loadboxname);
                if (_rl.ShowDialog() != DialogResult.OK)
                    status("no response was selected.");

                success = true;
            }
            else if (isTIK(f))
            {
                if (System.IO.File.Exists(f))
                    if (!isRecentTickfile(f) && SecurityImpl.SecurityFromFileName(f).isValid)
                        recent.DropDownItems.Add(f);
                epffiles.Add(f);
                success = loadsim();
            }
            else if (isSkin(f))
            {
                loadskin(f);
            }
            hasprereq();

            return success;

        }
Esempio n. 17
0
        public ResponseList <List <CustomerModel> > GetCustomers(RequestModel model)
        {
            string ReturnLink = string.Empty;

            string queryString   = string.Empty;
            string orderbyString = string.Empty;
            string queryCount    = string.Empty;
            int    TotalRecords  = 0;
            int    recoardFrom   = ((model.page - 1) * 10) + 1;
            int    recoardTo     = model.page * 10;
            ResponseList <List <CustomerModel> > returnModel = new ResponseList <List <CustomerModel> >();

            try
            {
                using (SqlConnection DB = new SqlConnection(SiteKey.ConnectionString))
                {
                    if (model != null)
                    {
                        if (!string.IsNullOrEmpty(model.sortby))
                        {
                            if (model.sortby == "atoz")
                            {
                                orderbyString = " order by first_name ";
                            }

                            if (model.sortby == "ztoa")
                            {
                                orderbyString = " order by first_name desc ";
                            }

                            if (model.sortby == "newtoold")
                            {
                                orderbyString = " order by created desc";
                            }

                            if (model.sortby == "oldtonew")
                            {
                                orderbyString = " order by created";
                            }
                        }
                        else
                        {
                            orderbyString = " order by created desc";
                        }

                        queryCount  = @"SELECT count(id) totalrecord FROM customer where is_deleted = 0 ";
                        queryString = @"select * from (SELECT ROW_NUMBER() OVER (" + orderbyString + @") row_num, id, user_id, first_name, last_name, contact_no, otp, email, 
                                        country_code, is_mobile_verified , is_email_verified ,is_deleted, created_by ,status, created, modified FROM customer 
                                        where is_deleted = 0 ";

                        if (model.filterby == "name")
                        {
                            queryString += " and ((customer.first_name+' '+customer.last_name like @keyword) or first_name like @keyword or last_name like @keyword) ";
                            queryCount  += " and ((customer.first_name+' '+customer.last_name like @keyword) or first_name like @keyword or last_name like @keyword) ";
                        }

                        if (model.filterby == "contact_number")
                        {
                            queryString += " and contact_no like @keyword ";
                            queryCount  += " and contact_no like @keyword ";
                        }

                        queryString += " ) t where row_num between " + recoardFrom + " and " + recoardTo;

                        returnModel.result = DB.QuerySql <CustomerModel>(queryString, new
                        {
                            keyword = "%" + model.keyword + "%",
                        }).ToList();


                        TotalRecords = DB.QuerySql <int>(queryCount, new
                        {
                            keyword = "%" + model.keyword + "%",
                        }).FirstOrDefault();
                    }

                    returnModel.totalDocs     = TotalRecords;
                    returnModel.limit         = 10;
                    returnModel.totalPages    = (TotalRecords / 10) + ((TotalRecords % 10) > 0 ? 1 : 0);
                    returnModel.hasNextPage   = model.page < returnModel.totalPages;
                    returnModel.hasPrevPage   = returnModel.totalPages > 1 && model.page > 1;
                    returnModel.page          = model.page;
                    returnModel.nextPage      = model.page + 1;
                    returnModel.pagingCounter = recoardFrom;
                    returnModel.prevPage      = model.page - 1;
                }

                returnModel.status  = (int)EnumClass.ResponseState.Success;
                returnModel.msg     = "Users list";
                returnModel.success = true;
            }
            catch (Exception ex)
            {
                returnModel.msg    = ex.Message;
                returnModel.status = (int)EnumClass.ResponseState.ResposityError;
                LoggingRepository.SaveException(ex);
                returnModel.success = false;
            }
            return(returnModel);
        }
        private bool loadfile(string path)
        {

            string f = path;
            bool success = false;
            if (isResponse(f))
            {
                responsedll = f;
                List<string> l = Util.GetResponseList(responsedll);
                if (System.IO.File.Exists(f) && (l.Count > 0))
                    if (!isRecentResLib(f))
                        reslist.DropDownItems.Add(f);
                status("Found " + l.Count + " responses.  ");
                _rl = new ResponseList(l);
                _rl.ResponseSelected += new DebugDelegate(loadboxname);

                if (user_json_parameters != null)
                {
                    ;// _rl.ResponseSelected = user_json_parameters.response_class;
                    //_rl.ResponseSelected(user_json_parameters.response_class);
                    //resname = user_json_parameters.response_class;
                    loadboxname(user_json_parameters.response_class);
                }
                else
                {
                    // show dialog "choose response to trade:" only if no user_json_parameters used
                    if (_rl.ShowDialog() != DialogResult.OK)
                        status("no response was selected.");
                }

                success = true;
            }
            else if (isTIK(f))
            {
                if (System.IO.File.Exists(f))
                    if (!isRecentTickfile(f) && SecurityImpl.SecurityFromFileName(f).isValid)
                        recent.DropDownItems.Add(f);
                epffiles.Add(f);
                success = loadsim();
            }
            else if (isSkin(f))
            {
                loadskin(f);
            }
            hasprereq();

            return success;

        }
        // Get All Agendas: Admin
        public ResponseList GetAgendas(int?page = 1, int?per_page = 10, string search = "")
        {
            ResponseList li = new ResponseList();

            try
            {
                List <Agendas> data = new List <Agendas>();
                if (page.Value <= 0)
                {
                    page = 1;
                }
                int pg   = (page.Value - 1);
                var skip = pg * per_page.Value;

                li.Status  = true;
                li.Message = "List of Agendas";
                if (String.IsNullOrWhiteSpace(search))
                {
                    data = db.Agendas.OrderBy(x => x.DateTime).Skip(skip).Take(per_page.Value).ToList();
                }
                else
                {
                    data = db.Agendas.Where(x => x.Title.Contains(search)).OrderBy(x => x.DateTime).Skip(skip).Take(per_page.Value).ToList();
                }

                List <AgendasClass> list1 = new List <AgendasClass>();
                List <AgendasClass> list2 = new List <AgendasClass>();
                List <AgendasClass> list3 = new List <AgendasClass>();
                foreach (var details in data)
                {
                    AgendasClass temp = new AgendasClass
                    {
                        ID          = details.ID,
                        Title       = details.Title,
                        DateTime    = details.DateTime.ToString("dddd dd MMMM, yyyy") + " at " + details.DateTime.ToShortTimeString(),
                        Description = details.Description,
                        Users       = db.AgendaUsers.Where(x => x.AgendasID == details.ID).Count()
                    };
                    if (details.DateTime.Day == DateTime.Today.Day && details.DateTime.Year == DateTime.Today.Year && details.DateTime.Month == DateTime.Today.Month)
                    {
                        temp.Status = "Today";
                        temp.Color  = "0xff38ad0d";
                        list1.Add(temp);
                    }
                    else if (details.DateTime > DateTime.Today)
                    {
                        temp.Status = "Upcoming";
                        temp.Color  = "0xfff47d08";
                        list2.Add(temp);
                    }
                    else
                    {
                        temp.Status = "Hosted";
                        temp.Color  = "0xffb7b7b7";
                        list3.Add(temp);
                    }
                }
                li.Data = list1.Concat(list2).Concat(list3).ToList();
                return(li);
            }
            catch (Exception e)
            {
                li.Status  = false;
                li.Message = e.InnerException.ToString();
                return(li);
            }
        }