예제 #1
0
        private void GetDatagridForServiceLink(HttpContext context)
        {
            context.Response.ContentType = "text/plain";

            int totalRecords = 0;
            int pageIndex    = 1;
            int pageSize     = 10;

            int.TryParse(context.Request.Form["page"], out pageIndex);
            int.TryParse(context.Request.Form["rows"], out pageSize);

            Guid serviceItemId = Guid.Empty;

            if (!string.IsNullOrWhiteSpace(context.Request.Form["serviceItemId"]))
            {
                Guid.TryParse(context.Request.Form["serviceItemId"], out serviceItemId);
            }
            if (serviceItemId.Equals(Guid.Empty))
            {
                context.Response.Write("{\"total\":0,\"rows\":[]}");
                return;
            }
            string keyword = context.Request.Form["keyword"];

            string       sqlWhere = string.Empty;
            ParamsHelper parms    = null;

            if (!serviceItemId.Equals(Guid.Empty))
            {
                if (parms == null)
                {
                    parms = new ParamsHelper();
                }
                sqlWhere += "and sl.ServiceItemId = @ServiceItemId ";
                SqlParameter parm = new SqlParameter("@ServiceItemId", SqlDbType.UniqueIdentifier);
                parm.Value = serviceItemId;

                parms.Add(parm);
            }
            if (!string.IsNullOrWhiteSpace(keyword))
            {
                if (parms == null)
                {
                    parms = new ParamsHelper();
                }
                sqlWhere += "and (sl.Named like @Named or sl.Url like @Url) ";
                SqlParameter parm = new SqlParameter("@Named", SqlDbType.NVarChar, 30);
                parm.Value = "%" + keyword + "%";
                parms.Add(parm);
                parm       = new SqlParameter("@Url", SqlDbType.VarChar, 300);
                parm.Value = "%" + keyword + "%";
                parms.Add(parm);
            }

            ServiceLink bll  = new ServiceLink();
            var         list = bll.GetListByJoin(pageIndex, pageSize, out totalRecords, sqlWhere, parms == null ? null : parms.ToArray());

            if (list == null || list.Count == 0)
            {
                ServiceItem siBll = new ServiceItem();
                siBll.UpdateHasContent(serviceItemId, false);
                context.Response.Write("{\"total\":0,\"rows\":[]}");
                return;
            }
            StringBuilder sb = new StringBuilder();

            foreach (var model in list)
            {
                sb.Append("{\"Id\":\"" + model.Id + "\",\"ServiceItemId\":\"" + model.ServiceItemId + "\",\"ServiceItemName\":\"" + model.ServiceItemName + "\",\"Named\":\"" + model.Named + "\",\"Url\":\"" + model.Url + "\",\"Sort\":\"" + model.Sort + "\",\"LastUpdatedDate\":\"" + model.LastUpdatedDate.ToString("yyyy-MM-dd HH:mm") + "\",\"OriginalPicture\":\"" + model.OriginalPicture.Replace("~", "") + "\",\"BPicture\":\"" + model.BPicture + "\",\"MPicture\":\"" + model.MPicture + "\",\"SPicture\":\"" + model.SPicture + "\",\"OtherPicture\":\"" + model.OtherPicture + "\"},");
            }
            context.Response.Write("{\"total\":" + totalRecords + ",\"rows\":[" + sb.ToString().Trim(',') + "]}");
        }