예제 #1
0
        public ActionResult GetData(string id, string type)
        {
            Response      response = new Response();
            CompanyFacade fac      = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);
            DataTable     dt       = fac.GetFamilyTreeChild(id);

            List <FamilyTreeDetailModel> treeLst = (from DataRow dr in dt.Rows
                                                    select new FamilyTreeDetailModel()
            {
                DetailId = dr["DetailId"].ToString(),
                FamilyTreeDetailId = dr["FamilyTreeDetailId"].ToString(),
                NodeName = dr["NodeName"].ToString(),
                ParentFamilyTreeDetailId = dr["ParentFamilyTreeDetailId"].ToString(),
                NodeDisplayDetail = dr["NodeDisplayDetail"].ToString(),
                NodeType = dr["NodeType"].ToString(),
                cntChildren = Convert.ToInt16(Convert.ToString(dr["Children"]))
            }).ToList();

            if (string.IsNullOrEmpty(type))
            {
                response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/FamilyTree/PartialItem.cshtml", treeLst);
            }
            else if (type == "right")
            {
                response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/FamilyTree/_PartialRight.cshtml", treeLst);
            }
            else if (type == "left")
            {
                response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/FamilyTree/_PartialLeft.cshtml", treeLst);
            }
            response.Success = true;
            return(Json(response));
        }
예제 #2
0
        public JsonResult ViewHistory(long Id, int?page, int?pagevalue)
        {
            Response response = new Response();

            try
            {
                #region  pagination
                int pageNumber       = (page ?? 1);
                int totalCount       = 0;
                int currentPageIndex = page.HasValue ? page.Value : 1;
                int pageSize         = pagevalue.HasValue ? pagevalue.Value : 30;
                #endregion

                #region Set Viewbag
                ViewBag.pageno    = currentPageIndex;
                ViewBag.pagevalue = pageSize;
                #endregion

                OIBuildListSearchModelEntity modelOIOBuildSearch = new OIBuildListSearchModelEntity();
                modelOIOBuildSearch.request_fields = JsonConvert.DeserializeObject <RequestFields>(Session["OIBuildRequestFields"].ToString());
                CompanyFacade fac            = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);
                var           model          = fac.ViewOIHistory(Id).ToListof <OISearchListEntity>();
                var           serializer     = new JavaScriptSerializer();
                List <Result> lstResult      = serializer.Deserialize <List <Result> >(model.FirstOrDefault().ResponseJson);
                int           lstResultCount = model.FirstOrDefault().ResultCount;
                RequestFields requestFields  = serializer.Deserialize <RequestFields>(model.FirstOrDefault().RequestJson);
                Session["OIExportToExcel"]          = JsonConvert.SerializeObject(lstResult);
                Session["OIBuildDataRequestFields"] = JsonConvert.SerializeObject(lstResult);
                Session["OIBuildDataRequestFields"] = JsonConvert.SerializeObject(Convert.ToInt64(Id));
                Session["ShowFullProfile"]          = JsonConvert.SerializeObject(requestFields);
                if (requestFields.show_full_profile == true)
                {
                    pageSize = 20;
                }
                else
                {
                    page = lstResult.Count;
                }
                var skip = pageSize * (currentPageIndex - 1);
                IPagedList <Result> pagedOIBuildListSearch = new StaticPagedList <Result>(lstResult.Skip(skip).Take(pageSize).ToList(), currentPageIndex, pageSize, lstResultCount);
                response.Success = true;
                if (requestFields.show_full_profile == true)
                {
                    response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/OI/OIBuildList/_SearchFullGrid.cshtml", pagedOIBuildListSearch);
                }
                else
                {
                    response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/OI/OIBuildList/_SearchGrid.cshtml", pagedOIBuildListSearch);
                }
                response.Object = model;
                return(Json(response));
            }
            catch (Exception ex)
            {
                response.Success        = false;
                response.ResponseString = ex.Message;
                return(Json(response));
            }
        }
예제 #3
0
        public JsonResult ViewHistory(long Id, int?page, int?sortby, int?sortorder, int?pagevalue)
        {
            Response response = new Response();

            try
            {
                #region  pagination
                if (!(sortby.HasValue && sortby.Value > 0))
                {
                    sortby = 1;
                }

                if (!(sortorder.HasValue && sortorder.Value > 0))
                {
                    sortorder = 2;
                }

                int currentPageIndex = page.HasValue ? page.Value : 1;
                int pageSize         = pagevalue.HasValue ? pagevalue.Value : 20;
                #endregion

                #region Set Viewbag
                ViewBag.SortBy    = sortby;
                ViewBag.SortOrder = sortorder;
                ViewBag.pageno    = currentPageIndex;
                ViewBag.pagevalue = pageSize;
                SessionHelper.BuildList_pageno = Convert.ToString(currentPageIndex);
                #endregion


                CompanyFacade          fac         = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);
                var                    model       = fac.ViewHistory(Id).ToListof <SearchListEntity>();
                var                    serializer  = new JavaScriptSerializer();
                List <SearchCandidate> lstsesstion = serializer.Deserialize <List <SearchCandidate> >(model.FirstOrDefault().ResponseJson);
                SessionHelper.BuildList_Data = JsonConvert.SerializeObject(lstsesstion);
                Session["Id"] = Convert.ToInt64(Id);
                var skip = pageSize * (currentPageIndex - 1);
                IPagedList <SearchCandidate> pglstpagedMonitorProfile = new StaticPagedList <SearchCandidate>(lstsesstion.Skip(skip).Take(pageSize).ToList(), currentPageIndex, pageSize, lstsesstion.Count);
                response.Success        = true;
                response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/BuildList/SearchGrid.cshtml", pglstpagedMonitorProfile);
                response.Object         = model;
                return(Json(response));
            }
            catch (Exception ex)
            {
                response.Success        = false;
                response.ResponseString = ex.Message;
                return(Json(response));
            }
        }
예제 #4
0
        public JsonResult FillMatchData(string orb_num, string MatchString)
        {
            ViewBag.OriginalSrcRecordId = orb_num;
            ViewBag.orb_num             = "Orb-" + orb_num;

            OICleanseMatchViewModel OIMatch = new OICleanseMatchViewModel();

            if (!string.IsNullOrWhiteSpace(MatchString))
            {
                OIMatch = SerializeHelper.DeserializeString <OICleanseMatchViewModel>(MatchString);
            }
            ViewBag.MatchUrl         = OIMatch.MatchUrl;
            ViewBag.ResponseJson     = OIMatch.ResponseJson;
            ViewBag.ConnectionString = this.CurrentClient.ApplicationDBConnectionString;
            string ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/OI/OISearchData/AddCompany.cshtml", null);

            return(Json(new { result = true, htmlData = ResponseString }, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public JsonResult Search(BuildListSearchModel model, int?page, int?sortby, int?sortorder, int?pagevalue)
        {
            Response response = new Response();

            try
            {
                #region  pagination
                if (!(sortby.HasValue && sortby.Value > 0))
                {
                    sortby = 1;
                }

                if (!(sortorder.HasValue && sortorder.Value > 0))
                {
                    sortorder = 2;
                }

                int currentPageIndex = page.HasValue ? page.Value : 1;
                int pageSize         = pagevalue.HasValue ? pagevalue.Value : 20;
                #endregion

                #region Set Viewbag
                ViewBag.SortBy    = sortby;
                ViewBag.SortOrder = sortorder;
                ViewBag.pageno    = currentPageIndex;
                ViewBag.pagevalue = pageSize;
                SessionHelper.BuildList_pageno = Convert.ToString(currentPageIndex);
                #endregion

                Utility.Utility api = new Utility.Utility();
                model.Request.pageSize   = ViewBag.pagevalue;
                model.Request.pageNumber = ViewBag.pageno;
                if (model.Request.usSicV4.Any())
                {
                    model.Request.usSicV4 = null;
                }

                if (model.Request.registrationNumbers.Any())
                {
                    model.Request.registrationNumbers = null;
                }
                model.Request.businessEntityType    = null;
                model.Request.familytreeRolesPlayed = null;

                if (model.Request.locationRadius.lat == 0 && model.Request.locationRadius.lon == 0 && model.Request.locationRadius.radius == 0 && string.IsNullOrEmpty(model.Request.locationRadius.unit))
                {
                    model.Request.locationRadius = null;
                }

                if (!model.Request.yearlyRevenue.maximumValue.HasValue && !model.Request.yearlyRevenue.minimumValue.HasValue)
                {
                    model.Request.yearlyRevenue = null;
                }

                if (model.Request.globalUltimateFamilyTreeMembersCount.maximumValue == 0 && model.Request.globalUltimateFamilyTreeMembersCount.minimumValue == 0)
                {
                    model.Request.globalUltimateFamilyTreeMembersCount = null;
                }

                if (model.Request.numberOfEmployees.informationScope == 0 && model.Request.numberOfEmployees.maximumValue == null && model.Request.numberOfEmployees.minimumValue == null)
                {
                    model.Request.numberOfEmployees = null;
                }
                if (model.Request.registrationNumbers.Count == 0)
                {
                    model.Request.registrationNumbers = null;
                }
                if (model.Request.usSicV4.Count == 0)
                {
                    model.Request.usSicV4 = null;
                }
                DateTime dtRequestedTime           = DateTime.Now;
                DateTime?dtResponseTime            = null;
                bool     IsFetchData               = true;
                List <SearchCandidate> lstsesstion = new List <SearchCandidate>();
                // Checking APIType is there or not
                string APItype = CommonMethod.GetThirdPartyProperty(ThirdPartyCode.DNB_BUILD_A_LIST.ToString(), ThirdPartyProperties.APIType.ToString());
                if (APItype != "")
                {
                    for (int i = 1; i <= (model.NoOfRecored / 20); i++)
                    {
                        if (IsFetchData)
                        {
                            model.Request.pageNumber = i;
                            model.Request.pageSize   = 20;

                            SearchCriteriaResponse objResponse = api.BuildAList(model.Request);
                            if (objResponse.searchCandidates != null)
                            {
                                lstsesstion.AddRange(objResponse.searchCandidates);
                                if ((i * 20) >= objResponse.candidatesMatchedQuantity)
                                {
                                    IsFetchData = false;
                                }
                            }
                            else
                            {
                                if (i == 1)
                                {
                                    response.Success        = false;
                                    response.ResponseString = objResponse.error != null ? objResponse.error.errorMessage : string.Empty;
                                }
                                IsFetchData = false;
                            }
                        }
                    }
                }

                dtResponseTime = DateTime.Now;

                if (lstsesstion.Any())
                {
                    SessionHelper.BuildList_Data = JsonConvert.SerializeObject(lstsesstion);
                    CompanyFacade fac          = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);
                    var           RequestJson  = new JavaScriptSerializer().Serialize(model);
                    var           ResponseJson = new JavaScriptSerializer().Serialize(lstsesstion);
                    object        obj          = fac.InsertBuildSearch(Helper.oUser.UserId, RequestJson, ResponseJson, dtRequestedTime, dtResponseTime);
                    Session["Id"] = Convert.ToInt64(obj);
                }

                if (lstsesstion.Any())
                {
                    var skip = pageSize * (currentPageIndex - 1);
                    IPagedList <SearchCandidate> pglstpagedMonitorProfile = new StaticPagedList <SearchCandidate>(lstsesstion.Skip(skip).Take(pageSize).ToList(), currentPageIndex, pageSize, lstsesstion.Count);
                    dtResponseTime          = DateTime.Now;
                    response.Success        = true;
                    response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/BuildList/SearchGrid.cshtml", pglstpagedMonitorProfile);
                }
                else
                {
                    if (APItype == "")
                    {
                        response.Success        = false;
                        response.ResponseString = CommonMessagesLang.msgNoDefaultKeyForSearch;
                    }
                }
                return(Json(response));
            }
            catch (Exception ex)
            {
                response.Success        = false;
                response.ResponseString = ex.Message;
                return(Json(response));
            }
        }
예제 #6
0
        public ActionResult ViewChange(string Parameters)
        {
            string isSingleView; int id, leftId, rightId;

            Response response = new Response();

            if (!string.IsNullOrEmpty(Parameters))
            {
                Parameters   = StringCipher.Decrypt(Parameters.Replace(Utility.Utility.urlseparator, "+"), General.passPhrase);
                isSingleView = Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 0, 1);
                id           = Convert.ToInt32(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 1, 1));
                leftId       = Convert.ToInt32(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 2, 1));
                rightId      = Convert.ToInt32(Utility.Utility.SplitParameters(Parameters, Utility.Utility.Colonseparator, 3, 1));

                if (isSingleView == "1")
                {
                    FamilyTreeParentModel model        = new FamilyTreeParentModel();
                    CompanyFacade         fac          = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);
                    DataTable             dtFamilyTree = fac.GetListFamilyTree();


                    DataView  view           = new DataView(dtFamilyTree);
                    DataTable distinctValues = view.ToTable(true, "FamilyTreeType");

                    model.lstFamilyTreeType = new SelectList(distinctValues.AsDataView(), "FamilyTreeType", "FamilyTreeType");

                    model.lstFamilyTree = new SelectList(dtFamilyTree.AsDataView(), "FamilyTreeId", "FamilyTreeName");
                    if (dtFamilyTree != null && dtFamilyTree.Rows.Count > 0)
                    {
                        if (id > 0)
                        {
                            model.FamilyTreeId = id;
                        }
                        else
                        {
                            model.FamilyTreeId = Convert.ToInt32(dtFamilyTree.Rows[0]["FamilyTreeId"]);
                        }

                        DataTable dtFamilyTreeById = fac.GetFamilyTreeById(model.FamilyTreeId.ToString());

                        if (dtFamilyTreeById != null)
                        {
                            model.FamilyTreeDetails = new FamilyTreeModel();
                            foreach (DataRow row in dtFamilyTreeById.Rows)
                            {
                                DataRow[] result = dtFamilyTree.Select("FamilyTreeType = '" + row["FamilyTreeType"].ToString() + "'");
                                model.lstFamilyTree = new SelectList(result.CopyToDataTable().AsDataView(), "FamilyTreeId", "FamilyTreeName");
                                model.FamilyTreeDetails.FamilyTreeId   = row["FamilyTreeId"].ToString();
                                model.FamilyTreeDetails.FamilyTreeName = row["FamilyTreeName"].ToString();
                                model.FamilyTreeDetails.FamilyTreeType = row["FamilyTreeType"].ToString();
                                model.FamilyTreeType                = model.FamilyTreeDetails.FamilyTreeType;
                                model.FamilyTreeDetails.Editable    = (string.IsNullOrEmpty(row["Editable"].ToString()) ? false : Convert.ToBoolean(row["Editable"].ToString()));
                                model.FamilyTreeDetails.LockForEdit = (string.IsNullOrEmpty(row["LockForEdit"].ToString()) ? false : Convert.ToBoolean(row["LockForEdit"].ToString()));
                                if (!string.IsNullOrEmpty(row["LastRefreshedDate"].ToString()))
                                {
                                    model.FamilyTreeDetails.LastRefreshedDate = Convert.ToDateTime(row["LastRefreshedDate"].ToString());
                                }
                                if (!string.IsNullOrEmpty(row["AlternateId"].ToString()))
                                {
                                    model.FamilyTreeDetails.AlternateId = Convert.ToString(row["AlternateId"].ToString());
                                }
                                if (!string.IsNullOrEmpty(row["LastModifiedUserId"].ToString()))
                                {
                                    model.FamilyTreeDetails.LastModifiedUserName = Convert.ToString(row["LastModifiedUserId"].ToString());
                                }
                            }
                        }

                        DataTable dt = fac.GetFamilyTree(model.FamilyTreeId);


                        List <FamilyTreeDetailModel> treeLst = new List <FamilyTreeDetailModel>();
                        treeLst = (from DataRow dr in dt.Rows
                                   where dr["ParentFamilyTreeDetailId"].ToString() == string.Empty
                                   select new FamilyTreeDetailModel()
                        {
                            DetailId = dr["DetailId"].ToString(),
                            FamilyTreeDetailId = dr["FamilyTreeDetailId"].ToString(),
                            NodeName = dr["NodeName"].ToString(),
                            ParentFamilyTreeDetailId = dr["ParentFamilyTreeDetailId"].ToString(),
                            NodeDisplayDetail = dr["NodeDisplayDetail"].ToString(),
                            NodeType = dr["NodeType"].ToString(),
                            cntChildren = 1            //GetChildren(dt, dr["FamilyTreeDetailId"].ToString()) /* Recursively grab the children */
                        }).ToList();

                        model.lstMenu = treeLst;
                    }
                    else
                    {
                        model = new FamilyTreeParentModel();
                    }

                    response.Success        = true;
                    response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/FamilyTree/_DetailFamilyTreeView.cshtml", model);
                }
                else
                {
                    SideBySideModel model = new SideBySideModel();

                    CompanyFacade fac = new CompanyFacade(this.CurrentClient.ApplicationDBConnectionString, Helper.UserName);

                    DataTable dtFamilyTree = fac.GetListFamilyTree();

                    if (dtFamilyTree != null && dtFamilyTree.Rows != null && dtFamilyTree.Rows.Count > 0)
                    {
                        if (dtFamilyTree.Select("LockForEdit = 1").Length > 0)
                        {
                            DataTable dtLefFamilyTree = dtFamilyTree.Select("LockForEdit = 1").CopyToDataTable();
                            #region Left View
                            model.LeftView = new FamilyTreeParentModel();
                            DataView  viewLeft           = new DataView(dtLefFamilyTree);
                            DataTable distinctValuesLeft = viewLeft.ToTable(true, "FamilyTreeType");

                            model.LeftView.lstFamilyTreeType = new SelectList(distinctValuesLeft.AsDataView(), "FamilyTreeType", "FamilyTreeType");
                            model.LeftView.lstFamilyTree     = new SelectList(dtLefFamilyTree.AsDataView(), "FamilyTreeId", "FamilyTreeName");
                            if (dtLefFamilyTree != null && dtLefFamilyTree.Rows.Count > 0)
                            {
                                if (leftId > 0)
                                {
                                    model.LeftView.FamilyTreeId = leftId;
                                }

                                DataTable dtFamilyTreeById = fac.GetFamilyTreeById(model.LeftView.FamilyTreeId.ToString());

                                if (dtFamilyTreeById != null)
                                {
                                    model.LeftView.FamilyTreeDetails = new FamilyTreeModel();
                                    foreach (DataRow row in dtFamilyTreeById.Rows)
                                    {
                                        DataRow[] result = dtFamilyTree.Select("FamilyTreeType = '" + row["FamilyTreeType"].ToString() + "'");
                                        model.LeftView.lstFamilyTree = new SelectList(result.CopyToDataTable().AsDataView(), "FamilyTreeId", "FamilyTreeName");
                                        model.LeftView.FamilyTreeDetails.FamilyTreeId   = row["FamilyTreeId"].ToString();
                                        model.LeftView.FamilyTreeDetails.FamilyTreeName = row["FamilyTreeName"].ToString();
                                        model.LeftView.FamilyTreeDetails.FamilyTreeType = row["FamilyTreeType"].ToString();
                                        model.LeftView.FamilyTreeType                = model.LeftView.FamilyTreeDetails.FamilyTreeType;
                                        model.LeftView.FamilyTreeDetails.Editable    = (string.IsNullOrEmpty(row["Editable"].ToString()) ? false : Convert.ToBoolean(row["Editable"].ToString()));
                                        model.LeftView.FamilyTreeDetails.LockForEdit = (string.IsNullOrEmpty(row["LockForEdit"].ToString()) ? false : Convert.ToBoolean(row["LockForEdit"].ToString()));
                                        if (!string.IsNullOrEmpty(row["LastRefreshedDate"].ToString()))
                                        {
                                            model.LeftView.FamilyTreeDetails.LastRefreshedDate = Convert.ToDateTime(row["LastRefreshedDate"].ToString());
                                        }
                                        if (!string.IsNullOrEmpty(row["AlternateId"].ToString()))
                                        {
                                            model.LeftView.FamilyTreeDetails.AlternateId = Convert.ToString(row["AlternateId"].ToString());
                                        }
                                        if (!string.IsNullOrEmpty(row["LastModifiedUserId"].ToString()))
                                        {
                                            model.LeftView.FamilyTreeDetails.LastModifiedUserName = Convert.ToString(row["LastModifiedUserId"].ToString());
                                        }
                                    }
                                }

                                DataTable dt = fac.GetFamilyTree(model.LeftView.FamilyTreeId);


                                List <FamilyTreeDetailModel> treeLst = new List <FamilyTreeDetailModel>();
                                treeLst = (from DataRow dr in dt.Rows
                                           where dr["ParentFamilyTreeDetailId"].ToString() == string.Empty
                                           select new FamilyTreeDetailModel()
                                {
                                    DetailId = dr["DetailId"].ToString(),
                                    FamilyTreeDetailId = dr["FamilyTreeDetailId"].ToString(),
                                    NodeName = dr["NodeName"].ToString(),
                                    ParentFamilyTreeDetailId = dr["ParentFamilyTreeDetailId"].ToString(),
                                    NodeDisplayDetail = dr["NodeDisplayDetail"].ToString(),
                                    NodeType = dr["NodeType"].ToString(),
                                    cntChildren = 1           //Children = GetChildren(dt, dr["FamilyTreeDetailId"].ToString()) /* Recursively grab the children */
                                }).ToList();

                                model.LeftView.lstMenu = treeLst;
                            }
                            #endregion

                            #region Right View
                            model.RightView = new FamilyTreeParentModel();

                            DataView  viewRight           = new DataView(dtFamilyTree);
                            DataTable distinctValuesRight = viewRight.ToTable(true, "FamilyTreeType");

                            model.RightView.lstFamilyTreeType = new SelectList(distinctValuesRight.AsDataView(), "FamilyTreeType", "FamilyTreeType");
                            model.RightView.lstFamilyTree     = new SelectList(dtFamilyTree.AsDataView(), "FamilyTreeId", "FamilyTreeName");
                            if (dtFamilyTree != null && dtFamilyTree.Rows.Count > 0)
                            {
                                if (rightId > 0)
                                {
                                    model.RightView.FamilyTreeId = rightId;
                                }

                                DataTable dtFamilyTreeById = fac.GetFamilyTreeById(model.RightView.FamilyTreeId.ToString());

                                if (dtFamilyTreeById != null)
                                {
                                    model.RightView.FamilyTreeDetails = new FamilyTreeModel();
                                    foreach (DataRow row in dtFamilyTreeById.Rows)
                                    {
                                        DataRow[] result = dtFamilyTree.Select("FamilyTreeType = '" + row["FamilyTreeType"].ToString() + "'");
                                        model.RightView.lstFamilyTree = new SelectList(result.CopyToDataTable().AsDataView(), "FamilyTreeId", "FamilyTreeName");
                                        model.RightView.FamilyTreeDetails.FamilyTreeId   = row["FamilyTreeId"].ToString();
                                        model.RightView.FamilyTreeDetails.FamilyTreeName = row["FamilyTreeName"].ToString();
                                        model.RightView.FamilyTreeDetails.FamilyTreeType = row["FamilyTreeType"].ToString();
                                        model.RightView.FamilyTreeType                = model.RightView.FamilyTreeDetails.FamilyTreeType;
                                        model.RightView.FamilyTreeDetails.Editable    = (string.IsNullOrEmpty(row["Editable"].ToString()) ? false : Convert.ToBoolean(row["Editable"].ToString()));
                                        model.RightView.FamilyTreeDetails.LockForEdit = (string.IsNullOrEmpty(row["LockForEdit"].ToString()) ? false : Convert.ToBoolean(row["LockForEdit"].ToString()));
                                        if (!string.IsNullOrEmpty(row["LastRefreshedDate"].ToString()))
                                        {
                                            model.RightView.FamilyTreeDetails.LastRefreshedDate = Convert.ToDateTime(row["LastRefreshedDate"].ToString());
                                        }
                                        if (!string.IsNullOrEmpty(row["AlternateId"].ToString()))
                                        {
                                            model.RightView.FamilyTreeDetails.AlternateId = Convert.ToString(row["AlternateId"].ToString());
                                        }
                                        if (!string.IsNullOrEmpty(row["LastModifiedUserId"].ToString()))
                                        {
                                            model.RightView.FamilyTreeDetails.LastModifiedUserName = Convert.ToString(row["LastModifiedUserId"].ToString());
                                        }
                                    }
                                }

                                DataTable dt = fac.GetFamilyTree(model.RightView.FamilyTreeId);


                                List <FamilyTreeDetailModel> treeLst = (from DataRow dr in dt.Rows
                                                                        where dr["ParentFamilyTreeDetailId"].ToString() == string.Empty
                                                                        select new FamilyTreeDetailModel()
                                {
                                    DetailId = dr["DetailId"].ToString(),
                                    FamilyTreeDetailId = dr["FamilyTreeDetailId"].ToString(),
                                    NodeName = dr["NodeName"].ToString(),
                                    ParentFamilyTreeDetailId = dr["ParentFamilyTreeDetailId"].ToString(),
                                    NodeDisplayDetail = dr["NodeDisplayDetail"].ToString(),
                                    NodeType = dr["NodeType"].ToString(),
                                    cntChildren = 1           //Children = GetChildren(dt, dr["FamilyTreeDetailId"].ToString()) /* Recursively grab the children */
                                }).ToList();

                                model.RightView.lstMenu = treeLst;
                            }
                            #endregion
                        }
                        else
                        {
                            model                   = new SideBySideModel();
                            model.LeftView          = new FamilyTreeParentModel();
                            model.RightView         = new FamilyTreeParentModel();
                            model.LeftView.lstMenu  = new List <FamilyTreeDetailModel>();
                            model.RightView.lstMenu = new List <FamilyTreeDetailModel>();
                        }
                    }
                    else
                    {
                        model                   = new SideBySideModel();
                        model.LeftView          = new FamilyTreeParentModel();
                        model.RightView         = new FamilyTreeParentModel();
                        model.LeftView.lstMenu  = new List <FamilyTreeDetailModel>();
                        model.RightView.lstMenu = new List <FamilyTreeDetailModel>();
                    }
                    response.Success        = true;
                    response.ResponseString = RenderViewAsString.RenderPartialViewToString(this, "~/Views/FamilyTree/_SIdeBySide.cshtml", model);
                }
            }
            return(Json(response));
        }