private List<MSARecommendation> GetFormattedRecommendations(string recommendatons, String[] pattern1, String[] pattern2) { try { List<MSARecommendation> lstMSARecommendation = new List<MSARecommendation>(); var lstRecommendation = recommendatons.Split(pattern1, StringSplitOptions.None); foreach (var item in lstRecommendation) { if (!String.IsNullOrEmpty(item)) { var recommendationStr = item.Split(pattern2, StringSplitOptions.None); if (recommendationStr.Length > 0) { MSARecommendation recommendation = new MSARecommendation(); recommendation.RecommendationId = String.IsNullOrEmpty(recommendationStr[0]) ? 0 : Int32.Parse(recommendationStr[0]); recommendation.Description = recommendationStr[1]; recommendation.TypeOfVoilation = recommendationStr[2]; recommendation.RPUsername = recommendationStr[3]; recommendation.RPEmail = recommendationStr[4]; recommendation.AssigneeUsername = recommendationStr[3]; recommendation.AssigneeEmail = recommendationStr[4]; recommendation.SectionId = String.IsNullOrEmpty(recommendationStr[5]) ? 0 : Int32.Parse(recommendationStr[5]); recommendation.SectionName = recommendationStr[6]; recommendation.InjuryClass = recommendationStr[7]; recommendation.ObservationCategory = recommendationStr[8]; recommendation.ObservationSubcategory = recommendationStr[9]; recommendation.DepartmentId = String.IsNullOrEmpty(recommendationStr[10]) ? 0 : Int32.Parse(recommendationStr[10]); recommendation.DepartmentName = recommendationStr[11]; recommendation.TargetDate = recommendationStr[12]; recommendation.ObservationSpot = recommendationStr[13].Equals("yes", StringComparison.OrdinalIgnoreCase) ? true : false; recommendation.ConsentTaken = recommendationStr[14].Equals("yes", StringComparison.OrdinalIgnoreCase) ? true : false; recommendation.Status = recommendationStr[15]; recommendation.RecommendationNo = recommendationStr[16]; recommendation.IsSavedAsDraft = recommendationStr[17].Equals("true", StringComparison.OrdinalIgnoreCase) ? true : false; recommendation.ValidationStatus = 0; lstMSARecommendation.Add(recommendation); } } } return lstMSARecommendation; } catch (Exception ex) { SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("SL.FG.FFL(MSAForm->GetFormattedRecommendations)", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, ex.Message, ex.StackTrace); message_div.InnerHtml = "Something went wrong!!! Please Contact the administrator."; DisableControls(); } return null; }
private List<MSARecommendation> GetFormattedRecommendationsByMSA(SPWeb oSPWeb, int msaId) { try { string listName = "MSARecommendation"; // Fetch the List SPList splistMSARecommendation = oSPWeb.GetList(string.Format("{0}/Lists/{1}/AllItems.aspx", oSPWeb.Url, listName)); List<MSARecommendation> lstMSARecommendation = new List<MSARecommendation>(); if (splistMSARecommendation != null) { SPQuery query = new SPQuery(); SPListItemCollection spListItems; // Include only the fields you will use. StringBuilder vf = new StringBuilder(); vf.Append("<FieldRef Name='ID'/>") .Append("<FieldRef Name='RecommendationNo'/>") .Append("<FieldRef Name='TargetDate'/>") .Append("<FieldRef Name='MSARecommendationDescription'/>") .Append("<FieldRef Name='TypeOfVoilation'/>") .Append("<FieldRef Name='ResponsiblePerson'/>") .Append("<FieldRef Name='AssigneeEmail'/>") .Append("<FieldRef Name='Assignee'/>") .Append("<FieldRef Name='ResponsibleSection'/>") .Append("<FieldRef Name='ResponsibleDepartment'/>") .Append("<FieldRef Name='InjuryClass'/>") .Append("<FieldRef Name='ObservationCategory'/>") .Append("<FieldRef Name='ObservationSubcategory'/>") .Append("<FieldRef Name='ConsentTaken'/>") .Append("<FieldRef Name='ObservationSpot'/>") .Append("<FieldRef Name='Status'/>"); query.ViewFields = vf.ToString(); query.ViewFieldsOnly = true; StringBuilder sb = new StringBuilder(); sb.Append("<Where>") .Append(" <Eq>") .Append(" <FieldRef Name='MSAID' />") .Append(" <Value Type='Number'>" + msaId + "</Value>") .Append(" </Eq>") .Append("</Where>"); query.Query = sb.ToString(); spListItems = splistMSARecommendation.GetItems(query); for (int i = 0; i < spListItems.Count; i++) { SPListItem listItem = spListItems[i]; MSARecommendation recommendation = new MSARecommendation(); recommendation.RecommendationId = Convert.ToInt32(listItem["ID"]); recommendation.RecommendationNo = Convert.ToString(listItem["RecommendationNo"]); string targetDateStr = Convert.ToString(listItem["TargetDate"]); if (!String.IsNullOrEmpty(targetDateStr)) { DateTime date; bool bValid = DateTime.TryParse(targetDateStr, new CultureInfo("en-GB"), DateTimeStyles.AssumeLocal, out date); if (bValid) { recommendation.TargetDate = date.ToShortDateString(); } else { recommendation.TargetDate = Convert.ToDateTime(targetDateStr).ToShortDateString(); } } recommendation.Description = Convert.ToString(listItem["MSARecommendationDescription"]); recommendation.TypeOfVoilation = Convert.ToString(listItem["TypeOfVoilation"]); recommendation.RPUsername = Convert.ToString(listItem["ResponsiblePerson"]); recommendation.RPEmail = Convert.ToString(listItem["AssigneeEmail"]); recommendation.AssigneeUsername = Convert.ToString(listItem["Assignee"]); recommendation.AssigneeEmail = Convert.ToString(listItem["AssigneeEmail"]); recommendation.InjuryClass = Convert.ToString(listItem["InjuryClass"]); recommendation.ObservationCategory = Convert.ToString(listItem["ObservationCategory"]); recommendation.ObservationSubcategory = Convert.ToString(listItem["ObservationSubcategory"]); recommendation.ConsentTaken = Convert.ToBoolean(listItem["ConsentTaken"]); recommendation.ObservationSpot = Convert.ToBoolean(listItem["ObservationSpot"]); recommendation.Status = Convert.ToString(listItem["Status"]); if (listItem["ResponsibleSection"] != null) { recommendation.SectionId = Convert.ToInt32(listItem["ResponsibleSection"]); //Section listName = "Section"; // Fetch the List SPList spList = oSPWeb.GetList(string.Format("{0}/Lists/{1}/AllItems.aspx", oSPWeb.Url, listName)); if (spList != null && recommendation.SectionId > 0) { SPListItem spListItem = spList.GetItemById(recommendation.SectionId); if (spListItem != null) { recommendation.SectionName = Convert.ToString(spListItem["Title"]); } } } if (listItem["ResponsibleDepartment"] != null) { recommendation.DepartmentId = Convert.ToInt32(listItem["ResponsibleDepartment"]); //Department listName = "Department"; // Fetch the List SPList spList = oSPWeb.GetList(string.Format("{0}/Lists/{1}/AllItems.aspx", oSPWeb.Url, listName)); if (spList != null && recommendation.DepartmentId > 0) { SPListItem spListItem = spList.GetItemById(recommendation.DepartmentId); if (spListItem != null) { recommendation.DepartmentName = Convert.ToString(spListItem["Title"]); } } } lstMSARecommendation.Add(recommendation); } } return lstMSARecommendation; } catch (Exception ex) { SPDiagnosticsService.Local.WriteTrace(0, new SPDiagnosticsCategory("SL.FG.FFL(MSAForm->GetFormattedRecommendationsByMSA)", TraceSeverity.Unexpected, EventSeverity.Error), TraceSeverity.Unexpected, ex.Message, ex.StackTrace); message_div.InnerHtml = "Something went wrong!!! Please Contact the administrator."; DisableControls(); } return null; }