public string Select(JGridRequest packet)
        {
            string     sql    = "";
            BaseFilter filter = Tools.GetFilter <BaseFilter>(packet);

            packet.ModelName = GetSwitch(packet.ModelName);
            if (packet.PageNo == 0)
            {
                packet.PageNo = 1;
            }
            if (packet.PageSize == 0)
            {
                packet.PageSize = int.MaxValue;
            }
            switch (packet.ModelName)
            {
            case "StudentView":
                sql = "SELECT * FROM Student";
                break;

            case "GmpView":
                sql = string.Format(@"EXEC SearchGmpMasterData '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}'",
                                    filter.Users, filter.RcNSchoolCode, filter.FromDate, filter.ToDate, filter.DistrictCode,
                                    filter.UpazilaCode, filter.UnionCode, filter.VillageCode, filter.GMPStatus,
                                    filter.AttendStatus, filter.BenId, packet.PageSize, packet.PageNo);
                break;

            case "GmpDetailsView":
                sql = string.Format(@"exec JGridGmpDetail '{0}'", packet.RecordId);
                break;

            case "ESMessageView":
                sql = string.Format(@"select GC.RowId,Gm.MessageText as Message from GmpCounselling  GC
                                        INNER JOIN GmpCounsellingMessage GM ON GM.MessageId=GC.MessageId
                                        where GC.RecordId='{0}'", packet.RecordId);
                break;

            case "GmpMaterialView":
                sql = string.Format(@"select GM.RowId,M.MaterialText as MaterialText from GmpMaterial  GM
                                        INNER JOIN GmpMaterialReference M ON M.MaterialId=GM.MaterialId
                                        where GM.RecordId='{0}'", packet.RecordId);
                break;

            case "GroupInfoEView":
                sql = string.Format(@"EXEC SearchGroupInfoEMasterData '{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}'",
                                    filter.FromDate, filter.ToDate, filter.ECCDSessionCategoryForGroup ?? filter.BESessionCategoryForGroup, filter.Group,
                                    filter.RcNSchoolCode, filter.Users, filter.BenId,
                                    filter.DistrictCode, filter.UpazilaCode, filter.UnionCode, filter.VillageCode, packet.PageSize, packet.PageNo);
                break;

            case "GroupMemberInfoEView":
                sql = string.Format(@"EXEC SearchGroupMemberInfoEData '{0}'", packet.RecordId);
                break;
            }

            return(sql);
        }
Beispiel #2
0
 public static T GetFilter <T>(JGridRequest packet) where T : class, new()
 {
     if (packet.Data != null && packet.RequestType != "Update")
     {
         return(JsonConvert.DeserializeObject <T>(packet.Data.ToString()));
     }
     else
     {
         return(new T());
     }
 }
Beispiel #3
0
        public ActionResult ManageGrid(JGridRequest packet)
        {
            try
            {
                JGridPacket p      = new JGridPacket();
                FilterData  filter = new FilterData();
                if (packet.Data != null)
                {
                    filter = JsonConvert.DeserializeObject <FilterData>(packet.Data.ToString());
                    if (packet.RequestType == "ShowEdit" || packet.RequestType == "Update")
                    {
                        if (filter.OverrideModel != null && packet.IsOverride == true)
                        {
                            packet.ModelName = filter.OverrideModel;
                        }
                    }
                }

                if (packet.RequestType == "Show")
                {
                    //packet.ModelName = packet.ModelName.Contains("View") == true ? packet.ModelName : packet.ModelName + "View";
                    if (!packet.IsOverride)
                    {
                        packet.ModelName = packet.ModelName.Contains("View") == true ? packet.ModelName : packet.ModelName + "View";
                    }
                }

                Assembly[] asm  = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.FullName.Contains("BDCO")).ToArray();
                Type       item = null;
                for (int i = 0; i < asm.Length; i++)
                {
                    item = asm[i].GetTypes().Where(x => x.Name == packet.ModelName).FirstOrDefault();
                    if (item != null)
                    {
                        break;
                    }
                }


                var jgridType   = typeof(JGridHelper <>);
                var jgridObject = jgridType.MakeGenericType(item);
                var obj         = Activator.CreateInstance(jgridObject);
                switch (packet.RequestType)
                {
                case "Show":
                    p.Record = MethodInvoker("ShowList", obj, new object[] { new QuerySelector().getSelector(packet) });
                    break;

                case "Insert":
                    p.Record = MethodInvoker("Insert", obj, new object[] { packet, asm, item });
                    break;

                case "Update":
                    var requestDataDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(packet.Data);
                    requestDataDictionary.Add("ModifiedBy", User.CurrentUserID());
                    requestDataDictionary.Add("ModificationDate", DateTime.Now.ToString());
                    packet.Data = JsonConvert.SerializeObject(requestDataDictionary);
                    p.Record    = MethodInvoker("EditDelete", obj, new object[] { 1, packet, asm, User.CurrentUserID() });
                    break;

                case "Delete":
                    p.Record = MethodInvoker("EditDelete", obj, new object[] { 2, packet, asm, User.CurrentUserID() });
                    break;

                case "VerifyInfo":
                    var pk         = _utility.GetPrimaryKeyInfo(item);
                    var verifyInfo = new VerifyInfo();
                    jgridObject = jgridType.MakeGenericType(verifyInfo.GetType());
                    obj         = Activator.CreateInstance(jgridObject);

                    var jsonVerifiyInfo = MethodInvoker("GetVerifyInfo", obj, new object[] { packet, pk.Name });
                    return(Json(new { success = true, Data = jsonVerifiyInfo }, JsonRequestBehavior.AllowGet));

                case "Verify":
                    var requestSourceDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(packet.Data);
                    if (requestSourceDictionary.ContainsKey("IsVerified"))
                    {
                        if (requestSourceDictionary.FirstOrDefault(x => x.Key == "IsVerified").Value.ToString() == "2")
                        {
                            SendPushMessage();
                        }
                    }


                    var user     = User.CurrentUserID() == 0 ? 0 : User.CurrentUserID();
                    var userName = User.DisplayName() == "" ? "" : User.DisplayName();
                    requestSourceDictionary.Add("VerifiedBy", user);
                    requestSourceDictionary.Add("VerificationDate", DateTime.Now);
                    packet.Data = JsonConvert.SerializeObject(requestSourceDictionary);
                    p.Record    = MethodInvoker("EditDelete", obj, new object[] { 1, packet, asm, User.CurrentUserID() });
                    return(Json(new { success = true, Data = "Verification Successful", VerifierName = userName, VerificationDate = DateTime.Now }, JsonRequestBehavior.AllowGet));

                case "Export":
                    break;

                case "ShowEdit":
                    //packet.ControllerName = "EsFollowUp";
                    var    json     = MethodInvoker("Show", obj, new object[] { packet });
                    string viewName = packet.ControllerName != "QB" ? packet.ModelName : packet.ControllerName;
                    var    html     = RenderRazorViewToString("~/Views/" + packet.ControllerName + "/" + viewName + ".cshtml").Trim();
                    return(Json(new { success = true, json, html }, JsonRequestBehavior.AllowGet));

                case "ShowCreate":
                    html = RenderRazorViewToString("~/Views/" + packet.ControllerName + "/" + packet.ModelName + ".cshtml").Trim();
                    return(Json(new { success = true, html }, JsonRequestBehavior.AllowGet));

                case "Map":
                    List <MapJson> lst = new List <MapJson>();
                    lst.Add(new MapJson()
                    {
                        Id = 4, Location = "GMP 1 (1-Dec-2018)", Latitude = "23.7491206", Longitude = "90.3602757"
                    });
                    lst.Add(new MapJson()
                    {
                        Id = 5, Location = "GMP 2 (1-Jan-2019)", Latitude = "23.7478959", Longitude = "90.3629236"
                    });
                    lst.Add(new MapJson()
                    {
                        Id = 3, Location = "GMP 3 (1-Feb-2019)", Latitude = "23.7489088", Longitude = "90.3649791"
                    });
                    lst.Add(new MapJson()
                    {
                        Id = 2, Location = "GMP 4 (1-Mar-2019)", Latitude = "23.7477852", Longitude = "90.3629741"
                    });
                    lst.Add(new MapJson()
                    {
                        Id = 1, Location = "GMP 5 (1-Apr-2019)", Latitude = "23.7390734", Longitude = "90.3609762"
                    });
                    return(Json(new { success = true, Data = lst }, JsonRequestBehavior.AllowGet));

                case "Chart":
                    var jsonData = MethodInvoker("ChartData", obj, new object[] { new ChartSelector().getSelector(packet) });
                    return(Json(new { success = true, Data = jsonData }, JsonRequestBehavior.AllowGet));
                }
                return(Json(new { success = true, Data = p }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, Data = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #4
0
        public void Export(string filterData)
        {
            FilterData filter = new FilterData();

            filter = JsonConvert.DeserializeObject <FilterData>(filterData);

            if (filter.Extension == null || filter.Extension == "" || filter.Extension != "csv")
            {
                filter.Extension = "xlsx";
            }
            JGridRequest packet = new JGridRequest();

            packet.ModelName = filter.ModelName;
            packet.Data      = filterData;
            Assembly[] asm  = AppDomain.CurrentDomain.GetAssemblies();
            Type       item = null;

            for (int i = 0; i < asm.Length; i++)
            {
                item = asm[i].GetTypes().Where(x => x.Name == packet.ModelName).FirstOrDefault();
                if (item != null)
                {
                    break;
                }
            }
            var jgridType   = typeof(JGridHelper <>);
            var jgridObject = jgridType.MakeGenericType(item);
            var obj         = Activator.CreateInstance(jgridObject);

            packet.ModelName = packet.ModelName;

            if (filter.Extension == "csv")
            {
                var st = MethodInvoker("ExportCSV", obj, new object[] { new ExportSelector().getSelector(packet) });
                Response.Clear();
                Response.Buffer = true;
                Response.AddHeader("content-disposition", "attachment;filename=" + packet.ModelName + "." + filter.Extension);
                Response.Charset     = "";
                Response.ContentType = "application/text";
                Response.Output.Write(st);
                Response.Flush();
                Response.End();
            }
            else
            {
                DataSet   ds = new DataSet();
                DataTable dt = new DataTable();
                dt           = (DataTable)MethodInvoker("ExportExcel", obj, new object[] { new ExportSelector().getSelector(packet) });
                dt.TableName = packet.ModelName;
                ds.Tables.Add(dt);
                using (XLWorkbook wb = new XLWorkbook())
                {
                    wb.Worksheets.Add(ds);
                    wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
                    wb.Style.Font.Bold            = true;
                    Response.Clear();
                    Response.Buffer      = true;
                    Response.Charset     = "";
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.AddHeader("content-disposition", "attachment;filename=" + packet.ModelName + ".xlsx");
                    using (MemoryStream MyMemoryStream = new MemoryStream())
                    {
                        wb.SaveAs(MyMemoryStream);
                        MyMemoryStream.WriteTo(Response.OutputStream);
                        Response.Flush();
                        Response.End();
                    }
                }
            }
        }