using framework_library;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Net.Mail;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Web;
namespace framework_business
{
public class xSurfaceCustomMethod
{
///
/// Generate SBF Profile Report
///
///
public static string GenerateSBFProfileReport(int surfaceId, int surfaceItemId)
{
string reportBody = "";
foreach (oTemplate template in xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "templateName", "SBF Candidate"))
{
reportBody = template.templateContent;
}
//CVH 2018-03-07 Add page break before STAFF ONLY, can't just add to template, the wyziwyg breaks it
reportBody = reportBody.Replace("{pagebreak}", "
");
DataTable surfaceItemData = xData.GetSurfaceQueryItemData(surfaceId, surfaceItemId);
DataRow surfaceItemRow = surfaceItemData.Rows[0];
int childSurfaceId = 0;
int grandChildSurfaceId = 0;
int childSurfaceItemId = 0;
DataTable primaryCaregivers = new DataTable();
DataTable otherHouseholdMembers = new DataTable();
DataTable monthlyHouseholdIncome = new DataTable();
DataTable dtLeadershipXp = new DataTable();
DataTable dtExtramural = new DataTable();
DataTable dtApplicantResults = new DataTable();
DataTable dtHighSchoolApplications = new DataTable();
DataTable dtOtherScholarships = new DataTable();
DataTable dtApplicantAndRecruitment = new DataTable();
DataRow dtApplicantAndRecruitmentRow = null;
DataTable dtNotesPartA = new DataTable();
DataTable dtNotesPartB = new DataTable();
DataTable dtNotesPartC = new DataTable();
DataTable dtNotesPartD = new DataTable();
foreach (oSurfaceField gridField in xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceField), "surfaceId,surfaceFieldTypeId", surfaceId + "," + (int)pNums.FieldType.Grid))
{
foreach (oSurface surf in xData.GetTypedByCriteriaSpecific("recId", typeof(oSurface), "name", gridField.relationalSurface))
{
childSurfaceId = surf.recId;
break;
}
switch (gridField.surfaceFieldName)
{
case "ApplicationandRecruitment_ApplicationForm_ApplicationForm":
dtApplicantAndRecruitment = xData.GetChildSurfaceQueryData(childSurfaceId, surfaceItemId);
foreach (oSurfaceField childGridField in xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceField), "surfaceId,surfaceFieldTypeId", childSurfaceId + "," + (int)pNums.FieldType.Grid))
{
foreach (oSurface surf in xData.GetTypedByCriteriaSpecific("recId", typeof(oSurface), "name", childGridField.relationalSurface))
{
grandChildSurfaceId = surf.recId;
dtApplicantAndRecruitmentRow = dtApplicantAndRecruitment.Rows[0];
childSurfaceItemId = Convert.ToInt32(dtApplicantAndRecruitmentRow["itemID"].ToString());
break;
}
switch (childGridField.surfaceFieldName)
{
case "PartCHouseholdMembers_PartCDETAILSOFHOUSEHOLDMEMBERS_DetailsofPrimaryCaregivers":
primaryCaregivers = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
case "PartCHouseholdMembers_PartCDETAILSOFHOUSEHOLDMEMBERS_OtherHouseholdFamilyMembers":
otherHouseholdMembers = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
case "PartDHouseholdFinances_MonthlyHouseholdIncomeContributions_MonthlyHouseholdIncome":
monthlyHouseholdIncome = xData.GetChildSurfaceQueryDataSummarized(grandChildSurfaceId, childSurfaceItemId);
break;
case "ApplicantInformation_ApplicantInformation_LeadershipExperiences":
dtLeadershipXp = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
case "ApplicantInformation_ApplicantInformation_Extramurals":
dtExtramural = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
case "Results_ApplicantResults_ApplicantResultsGrid":
dtApplicantResults = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
case "ApplicantInformation_ApplicantInformation_HighSchoolApplication":
dtHighSchoolApplications = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
case "ApplicantInformation_ApplicantInformation_OtherScholarships":
dtOtherScholarships = xData.GetChildSurfaceQueryData(grandChildSurfaceId, childSurfaceItemId);
break;
}
}
foreach (oSurfaceField noteField in xData.GetTypedByCriteriaSpecific("recId", typeof(oSurfaceField), "surfaceId,surfaceFieldTypeId", childSurfaceId + "," + (int)pNums.FieldType.Control))
{
switch (noteField.surfaceFieldName)
{
case "PartADETAILSOFAPPLICANT_PartADetailsofApplicantPageNotes_Notes":
dtNotesPartA = xData.GetTypedByCriteriaSpecificTable("recId", typeof(ovNoteDetail), "typeId,isActive,entityId,fieldName", "1,1," + childSurfaceItemId.ToString() + "," + noteField.recId.ToString() + "", "dateSaved DESC", "pal_");
break;
case "PartBApplicantDayDocumentChecklist_PartBDocumentChecklist_PartBPageNotes":
dtNotesPartB = xData.GetTypedByCriteriaSpecificTable("recId", typeof(ovNoteDetail), "typeId,isActive,entityId,fieldName", "1,1," + childSurfaceItemId.ToString() + "," + noteField.recId.ToString() + "", "dateSaved DESC", "pal_");
break;
case "PartCHouseholdMembers_PartCPageNotes_PartCPageNotes":
dtNotesPartC = xData.GetTypedByCriteriaSpecificTable("recId", typeof(ovNoteDetail), "typeId,isActive,entityId,fieldName", "1,1," + childSurfaceItemId.ToString() + "," + noteField.recId.ToString() + "", "dateSaved DESC", "pal_");
break;
case "PartDHouseholdFinances_PartDHouseholdFinancesPageNotes_Notes":
dtNotesPartD = xData.GetTypedByCriteriaSpecificTable("recId", typeof(ovNoteDetail), "typeId,isActive,entityId,fieldName", "1,1," + childSurfaceItemId.ToString() + "," + noteField.recId.ToString() + "", "dateSaved DESC", "pal_");
break;
default:
break;
}
}
break;
default:
break;
}
}
if (surfaceItemRow["ProfileHeader_ProfilePicture"].ToString() == "")
reportBody = reportBody.Replace("{profileImage}", $"/upload/image/{handler.ReturnSetup().logoUploaded}");
else
reportBody = reportBody.Replace("{profileImage}", $"/upload/surface/{surfaceItemRow["ProfileHeader_ProfilePicture"].ToString()}");
reportBody = reportBody.Replace("{year}", dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_ApplicationYear"].ToString());
#region general
reportBody = reportBody.Replace("{general.name}",
(dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_PreferredName"].ToString().Trim() == String.Empty ? dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_FirstName"].ToString() : dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_PreferredName"].ToString()) +
" " + dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_Surname"].ToString());
//$"{dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_PreferredName"].ToString()} {dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_Surname"].ToString()}");
reportBody = reportBody.Replace("{general.dateOfBirth}",
Convert.ToDateTime(dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_DateofBirth"]).ToString("MMMM dd yyyy"));
reportBody = reportBody.Replace("{general.gender}",
dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_Gender"].ToString());
string country = dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_SouthAfricanCitizen"].ToString() == "Yes"
? "South Africa" : dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_OtherCitizenship"].ToString();
reportBody = reportBody.Replace("{general.countryOfCitizenShip}",
country);
string permitType = "";
if (dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_IfForeignNationalIndicateTypeofPermitHeld"].ToString() != "")
{
permitType = $"{dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_IfForeignNationalIndicateTypeofPermitHeld"].ToString()}, {dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_IfForeignNationalYearandMonthofArrivalinSA"].ToString()}";
}
reportBody = reportBody.Replace("{general.permitType_arrivalInSA}",
permitType);
#endregion
#region household
reportBody = reportBody.Replace("{household.familySuburb}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_Suburb"].ToString());
StringBuilder householdComposition = new StringBuilder();
/*
* 1. Applicant, 12
* 2. Grandmother, 55, Matric, Employed, Tea Lady, DHK
* 3. Great Aunt, 48, No Matric, Domestic Worker
* 4. Cousin, 6, Student, Vukamanzi Primary
*/
householdComposition.AppendLine($"1. Applicant, {dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_Age"].ToString()}");
int houseNum = 2;
foreach (DataRow parentRow in primaryCaregivers.Rows)
{
if (parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_RelationshiptoApplicant"].ToString() != "")
{
string stringLine = "
" + houseNum.ToString() + ". ";
stringLine += $"{parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_RelationshiptoApplicant"]}, ";
stringLine += $"{parentRow["PartCDetailsofPrimaryCaregivers_Other_Age"]}, ";
//CVH 2017-08-02 Field change PartCDetailsofPrimaryCaregivers_Other_HighestEducationalQualification to PartCDetailsofPrimaryCaregivers_OtherDetailsforPrimaryCaregiver_HighestEducationalQualification
if (parentRow["PartCDetailsofPrimaryCaregivers_OtherDetailsforPrimaryCaregiver_HighestEducationalQualification"].ToString() != "")
stringLine += $", {parentRow["PartCDetailsofPrimaryCaregivers_OtherDetailsforPrimaryCaregiver_HighestEducationalQualification"]}";
if (parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_EmploymentStatus"].ToString() != "")
stringLine += $", {parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_EmploymentStatus"]}";
if (parentRow["PartCDetailsofPrimaryCaregivers_Other_Occupation"].ToString() != "")
stringLine += $", {parentRow["PartCDetailsofPrimaryCaregivers_Other_Occupation"]}";
if (parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_IfStudyingorWorkingNameofSchoolorInstitution"].ToString() != "")
stringLine += $", {parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_IfStudyingorWorkingNameofSchoolorInstitution"]}";
householdComposition.AppendLine(stringLine);
houseNum++;
}
}
foreach (DataRow parentRow in otherHouseholdMembers.Rows)
{
if (parentRow["HouseholdFamilyMemberDetails_DetailsofOtherHouseholdFamilyMembers_RelationshiptoApplicant"].ToString() != "")
{
string stringLine = "
" + houseNum.ToString() + ". ";
stringLine += $"{parentRow["HouseholdFamilyMemberDetails_DetailsofOtherHouseholdFamilyMembers_RelationshiptoApplicant"]}, ";
stringLine += $"{parentRow["HouseholdFamilyMemberDetails_Other_Age"]}, ";
if (parentRow["HouseholdFamilyMemberDetails_Other_HighestEducationalQualification"].ToString() != "")
stringLine += $", {parentRow["HouseholdFamilyMemberDetails_Other_HighestEducationalQualification"]}";
if (parentRow["HouseholdFamilyMemberDetails_Other_EmploymentType"].ToString() != "")
stringLine += $", {parentRow["HouseholdFamilyMemberDetails_Other_EmploymentType"]}";
if (parentRow["HouseholdFamilyMemberDetails_Details_Occupation"].ToString() != "")
stringLine += $", {parentRow["HouseholdFamilyMemberDetails_Details_Occupation"]}";
if (parentRow["HouseholdFamilyMemberDetails_DetailsofOtherHouseholdFamilyMembers_IfStudyingorWorkingNameofSchoolorInstitution"].ToString() != "")
stringLine += $", {parentRow["HouseholdFamilyMemberDetails_DetailsofOtherHouseholdFamilyMembers_IfStudyingorWorkingNameofSchoolorInstitution"]}";
householdComposition.AppendLine(stringLine);
houseNum++;
}
}
reportBody = reportBody.Replace("{household.composition}",
householdComposition.ToString());
reportBody = reportBody.Replace("{household.dwelling}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_TypeofDwelling"].ToString());
reportBody = reportBody.Replace("{household.parentRelationship}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_ApplicantParentsMaritalStatus"].ToString());
#endregion
#region monthlyIncome
//reportBody = reportBody.Replace("{monthlyIncome.grossHousehold}",
// dtApplicantAndRecruitmentRow["PartDHouseholdFinances_MonthlyHouseholdIncomeContributions_TotalMonthlyIncome"].ToString()); PartDHouseholdFinances_MonthlyHouseholdIncomeContributions_PortionofTotalMonthlyIncomeContributedtoHouseholdExpenses
reportBody = reportBody.Replace("{monthlyIncome.grossHousehold}",
dtApplicantAndRecruitmentRow["PartDHouseholdFinances_MonthlyHouseholdIncomeContributions_PortionofTotalMonthlyIncomeContributedtoHouseholdExpenses"].ToString());
reportBody = reportBody.Replace("{monthlyIncome.numberPersons}",
dtApplicantAndRecruitmentRow["PartCHouseholdMembers_PartCDETAILSOFHOUSEHOLDMEMBERS_Numberofpeoplelivinginthehome"].ToString());
reportBody = reportBody.Replace("{monthlyIncome.pci}",
dtApplicantAndRecruitmentRow["PartDHouseholdFinances_MonthlyHouseholdIncomeContributions_PerCapitaIncome"].ToString());
string sourcesOfIncome = "";
foreach (DataRow incomeRow in monthlyHouseholdIncome.Rows)
{
if (incomeRow["MonthlyHouseholdIncome_MonthlyHouseholdIncome_AmountPerMonthPostInterview"].ToString() != "" &&
Convert.ToDecimal(incomeRow["MonthlyHouseholdIncome_MonthlyHouseholdIncome_AmountPerMonthPostInterview"].ToString()) > 0)
{
if (sourcesOfIncome != "")
sourcesOfIncome += ", ";
sourcesOfIncome += incomeRow["MonthlyHouseholdIncome_MonthlyHouseholdIncome_TypeofIncome"].ToString();
}
}
reportBody = reportBody.Replace("{monthlyIncome.source}",
sourcesOfIncome);
#endregion
#region primarySchool
reportBody = reportBody.Replace("{primarySchool.primarySchool}",
dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_PrimarySchool"].ToString());
reportBody = reportBody.Replace("{primarySchool.fees}",
$"{dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_SchoolFeesPerYear"].ToString()}, {dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_SchoolFeeStatus"].ToString()}");
reportBody = reportBody.Replace("{primarySchool.maths}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_FinalGrade6Maths"].ToString());
reportBody = reportBody.Replace("{primarySchool.english}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_FinalGrade6English"].ToString());
reportBody = reportBody.Replace("{primarySchool.reference}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_PrimarySchoolReference"].ToString());
#endregion
#region other
string leadershipXp = "";
foreach (DataRow leadershipXpRow in dtLeadershipXp.Rows)
{
if (leadershipXp != "" && leadershipXpRow["LeadershipExperience_LeadershipExperience_LeadershipExperience"].ToString() != "")
leadershipXp += ", ";
leadershipXp += $"{leadershipXpRow["LeadershipExperience_LeadershipExperience_LeadershipExperience"]}";
}
reportBody = reportBody.Replace("{other.leadership}",
leadershipXp);
string extramural = "";
foreach (DataRow extramuralRow in dtExtramural.Rows)
{
if (extramural != "" && extramuralRow["Extramurals_ExtramuralsGroup_Extramural"].ToString() != "")
extramural += ", ";
extramural += $"{extramuralRow["Extramurals_ExtramuralsGroup_Extramural"]}";
}
reportBody = reportBody.Replace("{other.extramural}",
extramural);
reportBody = reportBody.Replace("{other.career}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_CurrentCareerInterest"].ToString());
#endregion
#region results
foreach (DataRow applicantResultsRow in dtApplicantResults.Rows)
{
reportBody = reportBody.Replace("{results.maths}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_SBFMaths"].ToString());
reportBody = reportBody.Replace("{results.nonVerbal}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_NonVerbal"].ToString());
reportBody = reportBody.Replace("{results.quantitative}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_Quantitative"].ToString());
reportBody = reportBody.Replace("{results.english}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_SBFEnglish"].ToString());
reportBody = reportBody.Replace("{results.verbal}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_Verbal"].ToString());
reportBody = reportBody.Replace("{results.essay}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_SBFEssay"].ToString());
reportBody = reportBody.Replace("{results.interview}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_Interview"].ToString());
reportBody = reportBody.Replace("{results.groupAssessment}",
applicantResultsRow["ApplicantSBFExamResults_SBFExamResults_GroupAssessment"].ToString());
}
#endregion
#region status
reportBody = reportBody.Replace("{status.recommendation}",
dtApplicantAndRecruitmentRow["Results_ApplicantInterview_CandidateStatus"].ToString());
reportBody = reportBody.Replace("{status.strengths}",
dtApplicantAndRecruitmentRow["Results_ApplicantInterview_Strengths"].ToString());
reportBody = reportBody.Replace("{status.concerns}",
dtApplicantAndRecruitmentRow["Results_ApplicantInterview_Concerns"].ToString());
reportBody = reportBody.Replace("{status.boarding}",
$"{dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_BoardingRecommendation"].ToString()}, {dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_RationaleForBoardingRecommendation"].ToString()}");
#endregion
#region otherApplications
string otherScholarships = "";
foreach (DataRow otherScholarshipsRow in dtOtherScholarships.Rows)
{
if (otherScholarshipsRow["OtherScholarships_OtherScholarships_Scholarship"].ToString() != "")
{
if (otherScholarships != "")
otherScholarships += "
";
otherScholarships += $"{otherScholarshipsRow["OtherScholarships_OtherScholarships_Scholarship"]}, {otherScholarshipsRow["OtherScholarships_OtherScholarships_Status"]}, {otherScholarshipsRow["OtherScholarships_OtherScholarships_DecisionDate"]}";
}
}
reportBody = reportBody.Replace("{otherApplications.scholarships}",
otherScholarships);
string highSchoolApplications = "";
foreach (DataRow highSchoolApplicationsRow in dtHighSchoolApplications.Rows)
{
if (highSchoolApplicationsRow["HighSchoolApplication_HighSchoolApplication_HighSchool"].ToString() != "")
{
if (highSchoolApplications != "")
highSchoolApplications += "
";
highSchoolApplications += $"{highSchoolApplicationsRow["HighSchoolApplication_HighSchoolApplication_HighSchool"]}, {highSchoolApplicationsRow["HighSchoolApplication_HighSchoolApplication_DecisionDate"]}";
}
}
reportBody = reportBody.Replace("{otherApplications.highSchools}",
highSchoolApplications);
#endregion
#region comments
reportBody = reportBody.Replace("{comments.expenditure}",
dtApplicantAndRecruitmentRow["PartDHouseholdFinances_PartDDetailsofHouseholdFinances_IncomeExpenditureAssetComments"].ToString());
reportBody = reportBody.Replace("{comments.sumExpenses}",
dtApplicantAndRecruitmentRow["PartDHouseholdFinances_PartDDetailsofHouseholdFinances_ReportExpenseTotal"].ToString());
reportBody = reportBody.Replace("{comments.interview}",
dtApplicantAndRecruitmentRow["Results_ApplicantInterview_InterviewComments"].ToString());
reportBody = reportBody.Replace("{comments.partner}",
dtApplicantAndRecruitmentRow["Results_ApplicantInterview_SuggestedSchools"].ToString());
reportBody = reportBody.Replace("{comments.essay}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_SBFEssayComments"].ToString());
reportBody = reportBody.Replace("{comments.general}",
dtApplicantAndRecruitmentRow["Results_ApplicantInterview_GeneralComments"].ToString());
#endregion
#region boarding
reportBody = reportBody.Replace("{boarding.notConductive}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_IsThereAnyReasonWhyTheHomeEnvironmentIsNotConduciveToStudying"].ToString());
reportBody = reportBody.Replace("{boarding.ssTravel}",
$"{dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_HowLongWouldItTakeForTheApplicantToTravelFromHomeToaSchoolInTheSouthernSuburbs"].ToString()}, {dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_HowWouldTheApplicantTravelFromHomeToaSchoolInTheSouthernSuburbs"].ToString()}");
reportBody = reportBody.Replace("{boarding.cbTravel}",
$"{dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_HowLongWouldItTakeApplicantToTravelFromHomeToaSchoolInCampsBay"].ToString()}, {dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_HowWouldTheApplicantTravelFromHomeToaSchoolInCampsBay"].ToString()}");
reportBody = reportBody.Replace("{boarding.parent}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantInformation_IfBoardingIsToBeLookedAtIsThereParentSupport"].ToString());
#endregion
#region doc
reportBody = reportBody.Replace("{doc.communityLeaderRef}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_CommunityLeaderReference"].ToString());
reportBody = reportBody.Replace("{doc.primarySchoolRef}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_PrimarySchoolReference"].ToString());
reportBody = reportBody.Replace("{doc.knowYou}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_Gettingtoknow"].ToString());
reportBody = reportBody.Replace("{doc.grade6}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_Grade6Report"].ToString());
reportBody = reportBody.Replace("{doc.absent}",
dtApplicantAndRecruitmentRow["ApplicantInformation_ApplicantDocumentsReviewed_DaysAbsentlastyear"].ToString());
string yearPast = "";
if (dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_ApplicationYear"] != null)
{
int appYear = 0;
if (int.TryParse(dtApplicantAndRecruitmentRow["PartADETAILSOFAPPLICANT_PartADETAILSOFAPPLICANT_ApplicationYear"].ToString(), out appYear))
{
yearPast = (appYear - 1).ToString();
}
}
reportBody = reportBody.Replace("{doc.yearPast}", yearPast);
#endregion
#region notes
string notesPartA = "";
foreach (DataRow notesPartARow in dtNotesPartA.Rows)
{
if (notesPartA != "" && notesPartARow["caption"].ToString() != "")
notesPartA += ". ";
notesPartA += $"{notesPartARow["caption"]}";
}
reportBody = reportBody.Replace("{notes.partA}",
notesPartA);
string notesPartB = "";
foreach (DataRow notesPartBRow in dtNotesPartB.Rows)
{
if (notesPartB != "" && notesPartBRow["caption"].ToString() != "")
notesPartB += ". ";
notesPartB += $"{notesPartBRow["caption"]}";
}
reportBody = reportBody.Replace("{notes.partB}",
notesPartB);
string notesPartC = "";
foreach (DataRow notesPartCRow in dtNotesPartC.Rows)
{
if (notesPartC != "" && notesPartCRow["caption"].ToString() != "")
notesPartC += ". ";
notesPartC += $"{notesPartCRow["caption"]}";
}
reportBody = reportBody.Replace("{notes.partC}",
notesPartC);
string notesPartD = "";
foreach (DataRow notesPartDRow in dtNotesPartD.Rows)
{
if (notesPartD != "" && notesPartDRow["caption"].ToString() != "")
notesPartD += ". ";
notesPartD += $"{notesPartDRow["caption"]}";
}
reportBody = reportBody.Replace("{notes.partD}",
notesPartD);
string familyMemberNotes = "| Family Member Notes |
";
foreach (DataRow parentRow in primaryCaregivers.Rows)
{
if (parentRow["PartCDetailsofPrimaryCaregivers_DocumentChecklistforPrimaryCaregiver_Note"].ToString() != "")
{
familyMemberNotes += $"| {parentRow["PartCDetailsofPrimaryCaregivers_PrimaryCareGivers_RelationshiptoApplicant"]} | ";
familyMemberNotes += $"{parentRow["PartCDetailsofPrimaryCaregivers_DocumentChecklistforPrimaryCaregiver_Note"]} |
";
}
}
foreach (DataRow parentRow in otherHouseholdMembers.Rows)
{
if (parentRow["HouseholdFamilyMemberDetails_DocumentChecklistforHouseholdFamilyChecklist_Note"].ToString() != "")
{
familyMemberNotes += $"| {parentRow["HouseholdFamilyMemberDetails_DetailsofOtherHouseholdFamilyMembers_RelationshiptoApplicant"]} | ";
familyMemberNotes += $"{parentRow["HouseholdFamilyMemberDetails_DocumentChecklistforHouseholdFamilyChecklist_Note"]} |
";
}
}
familyMemberNotes += "
";
reportBody = reportBody.Replace("{notes.familyMembers}",
familyMemberNotes);
#endregion
return reportBody;
}
///
/// Replace Temp Tags From Table
///
///
///
///
private static string ReplaceTempTagsFromTable(string content, DataTable dt)
{
try
{
//replace temp tags
foreach (DataColumn col in dt.Columns)
{
//not using field list, just checking if content contains the columnname tag, but skipping columnnames that are not field names (no _)
if (!col.ColumnName.Contains("_"))
continue;
string value = dt.Rows[0][col].ToString();
if (value != String.Empty && col.ColumnName == "StudentReport_AdditionalStudentReportInformation_HighSchoolAggregate")
value += "%";
value = value.Replace("\n", "
");
content = content.Replace("{" + col.ColumnName + "}", value);
}
return content;
}
catch (Exception ex)
{
exception.HandleException("customAction:", MethodBase.GetCurrentMethod().Name, ex, null);
return content;
}
}
///
/// Generate SBF Profile Report
///
///
public static string GenerateSBFStudentProfileReport(int profileSurfaceId, int profileItemId)
{
string reportBody = String.Empty;
foreach (oTemplate template in xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "templateName", "SBF Student Profile"))
{
reportBody = template.templateContent;
}
//hardcoding
int studentSurfaceId = 3101;
int tertiarySurfaceId = 3048;
//get profile data
DataTable dtProfileData = xData.GetSurfaceQueryItemData(profileSurfaceId, profileItemId);
DataTable dtStudentData = xData.GetChildSurfaceQueryData(studentSurfaceId, profileItemId, true);
DataTable dtTertiaryData = xData.GetChildSurfaceQueryData(tertiarySurfaceId, profileItemId, true);
reportBody = reportBody.Replace("src=\"/images/", "src=\"" + ConfigurationManager.AppSettings["WebAddy"].ToString() + "/images/");
string studentPic = String.Empty;
if (dtProfileData.Columns["ProfileHeader_ProfilePicture"] != null)
studentPic = dtProfileData.Rows[0]["ProfileHeader_ProfilePicture"].ToString();
if (studentPic != String.Empty)
studentPic = ConfigurationManager.AppSettings["WebAddy"].ToString() + "/upload/surface/" + studentPic;
reportBody = reportBody.Replace("{StudentPic}", studentPic);
//calculating Year Matriculated as Intake Year + 4
string matriculatedIn = String.Empty;
if (dtProfileData.Columns["ProfileHeader_IntakeYear"] != null)
{
int intakeYear = 0;
int.TryParse(dtProfileData.Rows[0]["ProfileHeader_IntakeYear"].ToString(), out intakeYear);
if (intakeYear > 0)
matriculatedIn = (intakeYear + 4).ToString();
}
reportBody = reportBody.Replace("{YearMatriculated}", matriculatedIn);
//calculating GPA as previous year highest semester
int gpa = 0;
if (dtTertiaryData.Rows.Count > 0 && dtTertiaryData.Columns["Alumni_TertiaryReview_CourseAggregate"] != null && dtTertiaryData.Columns["Alumni_TertiaryReview_Semester"] != null && dtTertiaryData.Columns["Alumni_TertiaryReview_Year"] != null)
{
DataRow[] rows = dtTertiaryData.Select("Alumni_TertiaryReview_Year = '" + System.DateTime.Now.AddYears(-1).Year + "'", "Alumni_TertiaryReview_Semester DESC");
if (rows != null && rows.Count() > 0)
{
int.TryParse(rows[0]["Alumni_TertiaryReview_CourseAggregate"].ToString(), out gpa);
}
}
if (gpa > 0)
reportBody = reportBody.Replace("{GPA}", gpa + "%");
else
reportBody = reportBody.Replace("{GPA}", "");
//replace Profile tags
reportBody = ReplaceTempTagsFromTable(reportBody, dtProfileData);
//replace Student tags
reportBody = ReplaceTempTagsFromTable(reportBody, dtStudentData);
//loop through and replace all remaining temp tags with empty string
int tagStart = reportBody.IndexOf("{");
int tagEnd = reportBody.IndexOf("}");
while (tagStart >= 0 && tagEnd > 0 && tagEnd > tagStart && tagEnd < reportBody.Length)
{
string tempTag = reportBody.Substring(tagStart, tagEnd - tagStart + 1);
reportBody = reportBody.Replace(tempTag, "");
tagStart = reportBody.IndexOf("{");
tagEnd = reportBody.IndexOf("}");
}
return reportBody;
}
///
/// Generate SBF PrepProgramme Report
///
///
///
///
public static string GenerateSBFPrepProgrammeReport(int surfaceItemId)
{
string reportBody = "";
foreach (oTemplate template in xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "templateName", "SBF Prep Report"))
{
reportBody = template.templateContent;
}
List listPrim = new List();
oDynamicParam param1 = new oDynamicParam();
param1.paramDisplayName = "itemId";
param1.paramObject = surfaceItemId;
listPrim.Add(param1);
DataTable dtReportData = xData.GetTypedTableByProc("recId", typeof(oSurfaceFieldData), "sp_STUD_1_GetReportPrepPage", listPrim);
DataRow dtReportDataRow = dtReportData.Rows[0];
reportBody = reportBody.Replace("{companyImage}", $"/upload/image/{handler.ReturnSetup().logoUploaded}");
reportBody = reportBody.Replace("{companySlogan}", $"/images/sbf_slogan.png");
reportBody = reportBody.Replace("{data.scholarName}", dtReportDataRow["scholarName"].ToString());
reportBody = reportBody.Replace("{data.attendance}", dtReportDataRow["attendance"].ToString());
reportBody = reportBody.Replace("{data.mathsTeachers}", dtReportDataRow["mathsTeachers"].ToString());
reportBody = reportBody.Replace("{data.englishTeachers}", dtReportDataRow["englishTeachers"].ToString());
reportBody = reportBody.Replace("{data.mathsComment}", dtReportDataRow["mathsComment"].ToString());
reportBody = reportBody.Replace("{data.englishComment}", dtReportDataRow["englishComment"].ToString());
return reportBody;
}
public static bool CreateOpenSurgeryWriteUpTSP(string openSurgeryName, string bodyData, oAccount accountMain, string webAddress, string icd10,
ref string statementPath, ref string statementFile)
{
bool result = false;
try
{
string headerData = String.Empty;
oMedicalPractice practice = new oMedicalPractice();
foreach (oTemplate headTemplate in xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "templateName", "OS Header"))
{
headerData = headTemplate.templateContent;
}
//get practice
foreach (oMedicalPractice prac in xData.GetTypedByCriteriaSpecific("recId", typeof(oMedicalPractice), "name", "The Shoulder Practice"))
{
practice = prac;
break;
}
utils.MergeHTMData(ref headerData, utils.BuildFieldCodeList(practice, true));
headerData = headerData.Replace("{PatientNumber}", accountMain.patientNumber.ToString());
headerData = headerData.Replace("{Patient}", accountMain.patientName + " " + accountMain.patientSurname);
headerData = headerData.Replace("{WriteUpName}", openSurgeryName);
headerData = headerData.Replace("{ICD10}", icd10);
headerData = headerData.Replace("{Date}", System.DateTime.Now.ToString("yyyy/MM/dd"));
headerData = headerData.Replace("{WebAddress}", webAddress);
headerData = headerData.Replace("src=\"/images/", "src=\"" + webAddress + "/images/");
headerData = headerData.Replace("src=\"/upload/image/", "src=\"" + webAddress + "/upload/image/");
string writeup = String.Empty;
if (headerData == String.Empty)
writeup = bodyData;
else
writeup = headerData.Replace("{WriteUpBody}", bodyData);
//OpenSurgery_[WriteUpName]_[PatientNumber]_[PatientInitials.PatientSurname]_[DateTimestamp].pdf
//OpenSugery_OpenRotatorCuffReairDeltoidSplit_1997_V.Wolfeschlegelsteinhausenbergerdorff_20170831095101.pdf
statementFile = "OpenSugery_" + utils.stripCharacters(openSurgeryName) + "_" + accountMain.patientNumber + "_" + utils.stripCharacters(accountMain.patientInitials) + "." + utils.stripCharacters(accountMain.patientSurname) + "_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".pdf";
statementPath = HttpContext.Current.Server.MapPath("~/upload/documents/");
utils.validateFolder(statementPath);
result = utils.ConvertHTMLToPDFFile(writeup, statementPath + statementFile, true, "", "");
return result;
}
catch (Exception ex)
{
throw new Exception(MethodBase.GetCurrentMethod().Name + ":" + ex.Message);
}
//return result;
}
#region Send Order Mail
public static bool OrderTemplateMail(int itemId, oUser user)
{
string emailBody = string.Empty, reportPath = string.Empty;
oEmail mail = new oEmail();
bool emailSent = false;
try
{
string query = $"SELECT publ.itemID,Orders_OrderDetails_Attention,Orders_OrderDetails_StyleCode, SupplierProfile_SupplierName,SupplierProfile_OrderEmail, Orders_OrderDetails_OrderNumber, Orders_OrderDetails_OrderDate " +
$"FROM publ_Orders publ inner join qt_Suppliers qt on publ.Orders_OrderDetails_Supplier = qt.SupplierProfile_SupplierName " +
$"where publ.itemID = " + itemId + " and publ.SurfaceId = 3070 and publ.isActive = 1";
DataTable dt = xData.GetCustomTypedTable(query);
if (dt.Rows.Count > 0)
{
if (!string.IsNullOrEmpty(Convert.ToString(dt.Rows[0]["SupplierProfile_OrderEmail"])))
{
foreach (oTemplate orderTemplate in xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "templateTypeId", ((int)pNums.TemplateType.Sales).ToString()))
{
if (orderTemplate.templateName == "Style Order Email Template")
{
emailBody = orderTemplate.templateContent;
break;
}
}
encryption encrypt = new encryption("p@l3tt3");
string encryptedId = encrypt.encryptValue(Convert.ToString(dt.Rows[0]["itemID"]));
string OrderDate = Convert.ToDateTime(dt.Rows[0]["Orders_OrderDetails_OrderDate"]).ToString("yyyy/MM/dd");
emailBody = emailBody.Replace("src=\"/images", "src=\"" + ConfigurationManager.AppSettings["WebAddy"] + "/images");
emailBody = emailBody.Replace("src=\"/upload", "src=\"" + ConfigurationManager.AppSettings["WebAddy"] + "/upload");
emailBody = emailBody.Replace("{itemID}", "&ID=" + encryptedId + "");
emailBody = emailBody.Replace("{Name}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_Attention"]));
emailBody = emailBody.Replace("{OrderDate}", OrderDate);
emailBody = emailBody.Replace("{OrderNumber}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]));
emailBody = emailBody.Replace("{username}", Convert.ToString(user.userDisplay));
oSetup setup = handler.ReturnSetup();
mail.fromAddress = ConfigurationManager.AppSettings["from"];
if (user.email != "")
mail.ccAddress = user.email;
mail.toAddress = Convert.ToString(dt.Rows[0]["SupplierProfile_OrderEmail"]);
mail.Body = emailBody;
string pdfFile = OrderPDFAttachment(Convert.ToInt32(dt.Rows[0]["itemID"]));
if (!string.IsNullOrEmpty(pdfFile))
{
reportPath = HttpContext.Current.Server.MapPath("~/upload/documents/" + pdfFile);
mail.Attachments.Add(reportPath);
}
mail.Subject = "Superbalist - Style : " + Convert.ToString(dt.Rows[0]["Orders_OrderDetails_StyleCode"]) + " (Order " + Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]) + ")";
emailSent = communication.SendAnEmail(mail);
if (System.IO.File.Exists(reportPath))
File.Delete(reportPath);
}
}
return emailSent;
}
catch (Exception ex)
{
throw new Exception(MethodBase.GetCurrentMethod().Name + ":" + ex.Message);
}
}
#endregion
#region Order PDF Attachment
public static string OrderPDFAttachment(int itemId)
{
string PDFBody = string.Empty, pdfFile = string.Empty;
string query = $"SELECT * FROM publ_Orders publ inner join qt_Suppliers qt on publ.Orders_OrderDetails_Supplier = qt.SupplierProfile_SupplierName " +
$"where publ.itemID = " + itemId + " and publ.SurfaceId = 3070 and publ.isActive = 1";
DataTable dt = xData.GetCustomTypedTable(query);
if (dt.Rows.Count > 0)
{
foreach (oTemplate orderTemplate in xData.GetTypedByCriteriaSpecific("recId", typeof(oTemplate), "templateTypeId", ((int)pNums.TemplateType.Sales).ToString()))
{
if (orderTemplate.templateName == "Order PDF Template")
{
PDFBody = orderTemplate.templateContent;
break;
}
}
string OrderDate = Convert.ToDateTime(dt.Rows[0]["Orders_OrderDetails_OrderDate"]).ToString("yyyy/MM/dd");
PDFBody = PDFBody.Replace("src=\"/images", "src=\"" + ConfigurationManager.AppSettings["WebAddy"] + "/images");
PDFBody = PDFBody.Replace("{SupplierName}", Convert.ToString(dt.Rows[0]["SupplierProfile_SupplierName"]));
PDFBody = PDFBody.Replace("{Attention}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_Attention"]));
PDFBody = PDFBody.Replace("{DeliveryDate}", Convert.ToDateTime(dt.Rows[0]["Orders_OrderDetails_DeliveryDate"]).ToString("yyyy/MM/dd"));
PDFBody = PDFBody.Replace("{Note}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_Instructions"]));
PDFBody = PDFBody.Replace("{BrandName}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_Brand"]));
PDFBody = PDFBody.Replace("{OrderDate}", OrderDate);
PDFBody = PDFBody.Replace("{OrderNumber}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]));
PDFBody = PDFBody.Replace("{StyleCode}", Convert.ToString(dt.Rows[0]["Orders_OrderDetails_StyleCode"]));
if (string.IsNullOrEmpty(dt.Rows[0]["Orders_OrderDetails_AmendmentDate"].ToString()))
PDFBody = PDFBody.Replace("{Print}", "");
else
PDFBody = PDFBody.Replace("{Print}", "Amended : " + Convert.ToDateTime(dt.Rows[0]["Orders_OrderDetails_AmendmentDate"]).ToString("yyyy/MM/dd"));
string supplyType = Convert.ToString(dt.Rows[0]["Orders_OrderDetails_SupplyType"]);
List listDevice = new List();
oDynamicParam param1 = new oDynamicParam();
param1.paramDisplayName = "ParentSurfaceItemId";
param1.paramObject = Convert.ToString(dt.Rows[0]["itemID"]);
listDevice.Add(param1);
oDynamicParam param2 = new oDynamicParam();
param2.paramDisplayName = "OrderNo";
param2.paramObject = Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]);
listDevice.Add(param2);
oDynamicParam param3 = new oDynamicParam();
param3.paramDisplayName = "SupplyType";
param3.paramObject = Convert.ToInt32(supplyType);
listDevice.Add(param3);
DataTable childData = xData.GetTypedTableByProc("recId", typeof(oSurfaceFieldData), "SP_OrderPDFDetails", listDevice);
StringBuilder sb = new StringBuilder();
decimal totalprice = 0;
switch (supplyType)
{
case "1086": //Fabric
#region
PDFBody = PDFBody.Replace("{FABRICORDER}", "FABRIC ORDER");
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderFabrics_FabricDetails_", "").ToString();
switch (column.ColumnName)
{
case "SupplierReference":
column.ColumnName = "Supplier Reference";
sb.Append("| " + column.ColumnName + " | ");
break;
case "QualityReference":
column.ColumnName = "Quality Reference";
sb.Append("" + column.ColumnName + " | ");
break;
case "TotalPrice":
column.ColumnName = "Total Price";
sb.Append("" + column.ColumnName + " | ");
break;
case "Extra":
column.ColumnName = "Extra %";
sb.Append("" + column.ColumnName + " | ");
break;
case "TotalMeters":
column.ColumnName = "Total Meters";
sb.Append("" + column.ColumnName + " | ");
break;
case "Description":
sb.Append("" + column.ColumnName + " | ");
break;
default:
sb.Append("" + column.ColumnName + " | ");
break;
}
}
sb.Append("
");
if (childData.Rows.Count > 0)
{
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Total Price")
totalprice += Convert.ToDecimal(row[column.ColumnName]);
if (column.ColumnName == "Supplier Reference" || column.ColumnName == "Quality Reference" || column.ColumnName == "Description"
|| column.ColumnName == "Colour")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
sb.Append("Total Amount (Excl. VAT): R | ");
sb.Append("" + totalprice.ToString() + " | ");
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
break;
#endregion
case "1083": //Binding
#region Binding
PDFBody = PDFBody.Replace("{FABRICORDER}", "BINDING ORDER");
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderBinding_BindingDetails_", "").ToString();
if (column.ColumnName == "FabricQualityReference")
{
column.ColumnName = "Fabric Quality Reference";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "FabricDescription")
{
column.ColumnName = "Fabric Description";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "FabricColour")
{
column.ColumnName = "Fabric Colour";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "BindingDescription")
{
column.ColumnName = "Binding Description";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalPrice")
{
column.ColumnName = "Total Price";
sb.Append("" + column.ColumnName + " | ");
}
else
{
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
//Adding DataRow.
if (childData.Rows.Count > 0)
{
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Total Price")
{
totalprice += Convert.ToDecimal(row[column.ColumnName]);
}
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
sb.Append("Total Amount (Excl. VAT): R | ");
sb.Append("" + totalprice.ToString() + " | ");
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
break;
#endregion
case "1084": //CMT
#region
PDFBody = PDFBody.Replace("{FABRICORDER}", "CMT ORDER");
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderCMT_CMTDetails_", "").ToString();
if (column.ColumnName == "StyleDescription")
{
column.ColumnName = "Style Description";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "StyleColour")
{
column.ColumnName = "Style Colour";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "StyleUnits")
{
column.ColumnName = "Style Units";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "OutworkRequired")
{
column.ColumnName = "Outwork Required";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "CMTUnitPrice")
{
column.ColumnName = "CMT Unit Price";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "StandardMinuteValue")
{
column.ColumnName = "SMV";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "CMTUnitPrice")
{
column.ColumnName = "CMT Unit Price";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalPrice")
{
column.ColumnName = "Total Price";
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
//Adding DataRow.
if (childData.Rows.Count > 0)
{
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Total Price")
totalprice += Convert.ToDecimal(row[column.ColumnName]);
if (column.ColumnName == "Total Price" || column.ColumnName == "SMV" || column.ColumnName == "CMT Unit Price")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
sb.Append("Total Amount (Excl. VAT): R | ");
sb.Append("" + totalprice.ToString() + " | ");
//Table end.
sb.Append("
");
sb.Append("
");
PDFBody += sb.ToString();
StringBuilder intake = new StringBuilder();
intake.Append("");
intake.Append("");
intake.Append("| Intake Year: | ");
intake.Append("" + Convert.ToString(dt.Rows[0]["Orders_SupplyDetails_CMTIntakeYear"]) + " | ");
intake.Append(" Intake Month: | ");
intake.Append("" + Convert.ToString(dt.Rows[0]["Orders_SupplyDetails_CMTIntakeMonth"]) + " | ");
intake.Append("
");
intake.Append("
");
PDFBody += intake.ToString();
break;
#endregion
case "1085": //Cutting
#region Cutting
PDFBody = PDFBody.Replace("{FABRICORDER}", "CUTTING ORDER");
string cutting = $"select OrderCutting_CuttingDetails_FabricQualityReference,OrderCutting_CuttingDetails_FabricDescription," +
$"OrderCutting_CuttingDetails_FabricColour,OrderCutting_CuttingDetails_Width, OrderCutting_CuttingDetails_InternalRating" +
$",OrderCutting_CuttingDetails_MarkerRating from publ_OrderCutting" +
$" where ParentSurfaceItemId= " + Convert.ToString(dt.Rows[0]["itemID"]) + " and " +
$"OrderCutting_OrderDetails_OrderNumber='" + Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]) + "' " +
"and surfaceId = 3080 and isActive = 1";
DataTable dtcuttingdata = xData.GetCustomTypedTable(cutting);
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in dtcuttingdata.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderCutting_CuttingDetails_", "").ToString();
if (column.ColumnName == "FabricQualityReference")
{
column.ColumnName = "Fabric Quality Reference";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "FabricDescription")
{
column.ColumnName = "Fabric Description";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "FabricColour")
{
column.ColumnName = "Fabric Colour";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "InternalRating")
{
column.ColumnName = "Internal Rating";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "MarkerRating")
{
column.ColumnName = "Marker Rating";
sb.Append("" + column.ColumnName + " | ");
}
else
{
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
if (dtcuttingdata.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in dtcuttingdata.Rows)
{
sb.Append("");
foreach (DataColumn column in dtcuttingdata.Columns)
{
if (column.ColumnName == "Fabric Quality Reference" || column.ColumnName == "Fabric Description" || column.ColumnName == "Fabric Colour")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
string cuttingsizequery = $"select OrderCuttingSizes_CuttingSizes_SizeName,OrderCuttingSizes_CuttingSizes_SizeUnits from publ_OrderCuttingSizes" +
$" where ParentSurfaceItemId= " + Convert.ToString(dt.Rows[0]["itemID"]) + " and " +
$"OrderCuttingSizes_OrderDetails_OrderNumber='" + Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]) + "' " +
"and surfaceId = 3081 and isActive = 1";
DataTable dtcuttingsizedata = xData.GetCustomTypedTable(cuttingsizequery);
StringBuilder cuttingsize = new StringBuilder();
//Table start.
cuttingsize.Append("
");
cuttingsize.Append("");
//Adding HeaderRow.
cuttingsize.Append("");
foreach (DataColumn column in dtcuttingsizedata.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderCuttingSizes_CuttingSizes_", "").ToString();
if (column.ColumnName == "SizeName")
{
column.ColumnName = "Size Name";
cuttingsize.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "SizeUnits")
{
column.ColumnName = "Size Units";
cuttingsize.Append("" + column.ColumnName + " | ");
}
}
cuttingsize.Append("
");
if (dtcuttingsizedata.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in dtcuttingsizedata.Rows)
{
cuttingsize.Append("");
foreach (DataColumn column in dtcuttingsizedata.Columns)
{
if (column.ColumnName == "Size Name")
cuttingsize.Append("| " + row[column.ColumnName].ToString() + " | ");
else
cuttingsize.Append("" + row[column.ColumnName].ToString() + " | ");
}
cuttingsize.Append("
");
}
}
else
{
cuttingsize.Append("");
cuttingsize.Append("| No data available in table | ");
cuttingsize.Append("
");
}
//Table end.
cuttingsize.Append("
");
cuttingsize.Append("
");
PDFBody += cuttingsize.ToString();
StringBuilder cs = new StringBuilder();
cs.Append("");
cs.Append("");
cs.Append("| Master Size: | ");
cs.Append("" + Convert.ToString(dt.Rows[0]["Orders_SupplyDetails_CuttingMasterSize"]) + " | ");
cs.Append("Marker Maker: | ");
cs.Append("" + Convert.ToString(dt.Rows[0]["Orders_SupplyDetails_CuttingMarkerMaker"]) + " | ");
cs.Append("
");
cs.Append("
");
PDFBody += cs.ToString();
break;
#endregion
case "1087": //Outwork
#region Outwork
PDFBody = PDFBody.Replace("{FABRICORDER}", "OUTWORK ORDER");
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderOutwork_OutworkDetails_", "").ToString();
if (column.ColumnName == "UnitsorMeters")
{
column.ColumnName = "Units or Meters";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalUnitsorMeters")
{
column.ColumnName = "Total Units/Meters";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalPrice")
{
column.ColumnName = "Total Price";
sb.Append("" + column.ColumnName + " | ");
}
else
{
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
if (childData.Rows.Count > 0)
{
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Total Price")
totalprice += Convert.ToDecimal(row[column.ColumnName]);
if (column.ColumnName == "Reference" || column.ColumnName == "Description" || column.ColumnName == "Colour")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
sb.Append("Total Amount (Excl. VAT): R | ");
sb.Append("" + totalprice.ToString() + " | ");
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
break;
#endregion
case "1137": //Reshaping
#region Reshaping
PDFBody = PDFBody.Replace("{FABRICORDER}", "RESHAPING ORDER");
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderReshaping_ReshapingDetails_", "").ToString();
if (column.ColumnName == "FabricQualityReference")
{
column.ColumnName = "Fabric Quality Reference";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "FabricDescription")
{
column.ColumnName = "Fabric Description";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "FabricColour")
{
column.ColumnName = "Fabric Colour";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "InternalRating")
{
column.ColumnName = "Internal Rating";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "MarkerRating")
{
column.ColumnName = "Marker Rating";
sb.Append("" + column.ColumnName + " | ");
}
else
{
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
if (childData.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Fabric Quality Reference" || column.ColumnName == "Fabric Description" || column.ColumnName == "Fabric Colour")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
string reshapingsizequery = $"select OrderReshapingSizes_ReshapingSizes_SizeName,OrderReshapingSizes_ReshapingSizes_SizeUnits from publ_OrderReshapingSizes " +
$" where ParentSurfaceItemId= " + Convert.ToString(dt.Rows[0]["itemID"]) + " and " +
$"OrderReshapingSizes_OrderDetails_OrderNumber='" + Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]) + "' " +
"and surfaceId = 3083 and isActive = 1";
DataTable dtreshapingsizedata = xData.GetCustomTypedTable(reshapingsizequery);
StringBuilder reshapingsize = new StringBuilder();
//Table start.
reshapingsize.Append("
");
reshapingsize.Append("");
//Adding HeaderRow.
reshapingsize.Append("");
foreach (DataColumn column in dtreshapingsizedata.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderReshapingSizes_ReshapingSizes_", "").ToString();
if (column.ColumnName == "SizeName")
{
column.ColumnName = "Size Name";
reshapingsize.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "SizeUnits")
{
column.ColumnName = "Size Units";
reshapingsize.Append("" + column.ColumnName + " | ");
}
}
reshapingsize.Append("
");
if (dtreshapingsizedata.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in dtreshapingsizedata.Rows)
{
reshapingsize.Append("");
foreach (DataColumn column in dtreshapingsizedata.Columns)
{
if (column.ColumnName == "Size Name")
reshapingsize.Append("| " + row[column.ColumnName].ToString() + " | ");
else
reshapingsize.Append("" + row[column.ColumnName].ToString() + " | ");
}
reshapingsize.Append("
");
}
}
else
{
reshapingsize.Append("");
reshapingsize.Append("| No data available in table | ");
reshapingsize.Append("
");
}
//Table end.
reshapingsize.Append("
");
reshapingsize.Append("
");
PDFBody += reshapingsize.ToString();
StringBuilder rs = new StringBuilder();
rs.Append("");
rs.Append("");
rs.Append("| Master Size: | ");
rs.Append("" + Convert.ToString(dt.Rows[0]["Orders_SupplyDetails_ReshapingMasterSize"]) + " | ");
rs.Append("Marker Maker: | ");
rs.Append("" + Convert.ToString(dt.Rows[0]["Orders_SupplyDetails_ReshapingMarkerMaker"]) + " | ");
rs.Append("
");
rs.Append("
");
PDFBody += rs.ToString();
break;
#endregion
case "1090": //Trim
#region Trim
PDFBody = PDFBody.Replace("{FABRICORDER}", "TRIM ORDER");
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderTrims_TrimDetails_", "").ToString();
if (column.ColumnName == "SupplierReference")
{
column.ColumnName = "Supplier Reference";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "QualityReference")
{
column.ColumnName = "Quality Reference";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalPrice")
{
column.ColumnName = "Total Price";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TrimColour")
{
column.ColumnName = "Trim Colour";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "UnitsorMetres")
{
column.ColumnName = "Units or Metres";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalUnitsorMeters")
{
column.ColumnName = "Total Units/Meters";
sb.Append("" + column.ColumnName + " | ");
}
else
{
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
//Adding DataRow.
if (childData.Rows.Count > 0)
{
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Total Price")
totalprice += Convert.ToDecimal(row[column.ColumnName]);
if (column.ColumnName == "Total Price" || column.ColumnName == "Total Units/Meters" || column.ColumnName == "Units or Metres"
|| column.ColumnName == "Price")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
sb.Append("Total Amount (Excl. VAT): R | ");
sb.Append("" + totalprice.ToString() + " | ");
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
break;
#endregion
case "1091": //Zip
#region Zip
//Table start.
sb.Append("");
//Adding HeaderRow.
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderZips_ZipDetails_", "").ToString();
if (column.ColumnName == "SupplierReference")
{
column.ColumnName = "Supplier Reference";
sb.Append("| " + column.ColumnName + " | ");
}
else if (column.ColumnName == "QualityReference")
{
column.ColumnName = "Quality Reference";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalPrice")
{
column.ColumnName = "Total Price";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "TotalUnits")
{
column.ColumnName = "Total Units";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "UnitPrice")
{
column.ColumnName = "Unit Price";
sb.Append("" + column.ColumnName + " | ");
}
else if (column.ColumnName == "ZipColour")
{
column.ColumnName = "Zip Colour";
sb.Append("" + column.ColumnName + " | ");
}
else
{
sb.Append("" + column.ColumnName + " | ");
}
}
sb.Append("
");
//Adding DataRow.
if (childData.Rows.Count > 0)
{
foreach (DataRow row in childData.Rows)
{
sb.Append("");
foreach (DataColumn column in childData.Columns)
{
if (column.ColumnName == "Total Price")
totalprice += Convert.ToDecimal(row[column.ColumnName]);
if (column.ColumnName == "Supplier Reference" || column.ColumnName == "Quality Reference" || column.ColumnName == "Zip Colour"
|| column.ColumnName == "Description")
sb.Append("| " + row[column.ColumnName].ToString() + " | ");
else
sb.Append("" + row[column.ColumnName].ToString() + " | ");
}
sb.Append("
");
}
}
else
{
sb.Append("");
sb.Append("| No data available in table | ");
sb.Append("
");
}
sb.Append("Total Amount (Excl. VAT): R | ");
sb.Append("" + totalprice.ToString() + " | ");
//Table end.
sb.Append("
");
PDFBody += sb.ToString();
string parentId = "0";
string zipsizequery = $"select OrderZipSizes_ZipSizeDetails_ZipSize";
if (Convert.ToInt32(dt.Rows[0]["ParentSurfaceItemId"]) != 0)
{
parentId = Convert.ToString(dt.Rows[0]["itemID"]);
zipsizequery += $",OrderZipSizes_ZipSizeDetails_StyleSize";
}
else
{
parentId = Convert.ToString(childData.Rows[0]["itemID"]);
zipsizequery += $", OrderZipSizes_ZipSizeDetails_Units";
}
zipsizequery += $" from publ_OrderZipSizes where ParentSurfaceItemId= " + parentId + " and " +
$"OrderZipSizes_ZipSizeDetails_OrderNumber='" + Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]) + "' " +
"and surfaceId = 3086 and isActive = 1";
DataTable dtzipsizedata = xData.GetCustomTypedTable(zipsizequery);
StringBuilder zipsize = new StringBuilder();
//Table start.
zipsize.Append("
");
zipsize.Append("");
//Adding HeaderRow.
zipsize.Append("");
foreach (DataColumn column in dtzipsizedata.Columns)
{
column.ColumnName = column.ColumnName.Replace("OrderZipSizes_ZipSizeDetails_", "").ToString();
if (column.ColumnName == "StyleSize")
column.ColumnName = "Style Size";
else if (column.ColumnName == "ZipSize")
column.ColumnName = "Zip Size";
else if (column.ColumnName == "Units")
column.ColumnName = "Units Per Size";
zipsize.Append("| " + column.ColumnName + " | ");
}
zipsize.Append("
");
decimal totalUnits = 0;
if (dtzipsizedata.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in dtzipsizedata.Rows)
{
zipsize.Append("");
foreach (DataColumn column in dtzipsizedata.Columns)
{
if (column.ColumnName == "Units Per Size")
{
totalUnits += Convert.ToDecimal(row[column.ColumnName]);
}
zipsize.Append("| " + row[column.ColumnName].ToString() + " | ");
}
zipsize.Append("
");
}
}
else
{
zipsize.Append("");
zipsize.Append("| No data available in table | ");
zipsize.Append("
");
}
if (Convert.ToInt32(dt.Rows[0]["ParentSurfaceItemId"]) == 0)
{
zipsize.Append("Total Units : | ");
zipsize.Append("" + totalUnits.ToString() + " | ");
}
//Table end.
zipsize.Append("
");
zipsize.Append("
");
PDFBody += zipsize.ToString();
break;
#endregion
}
string reportBody = PDFBody;
string OrderNumber = Convert.ToString(dt.Rows[0]["Orders_OrderDetails_OrderNumber"]).Replace(":", "-");
string reportFile = "Order_" + OrderNumber + "_" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + ".pdf";
string reportPath = HttpContext.Current.Server.MapPath("~/upload/documents/");
utils.validateFolder(reportPath);
utils.ConvertHTMLToPDFFile(reportBody, reportPath + reportFile, true, "", "", false);
pdfFile = reportFile;
}
return pdfFile;
}
#endregion
#region TrimPack PDF Print
public static string TrimPackPDFPrint(int itemId)
{
string PDFBody = string.Empty, pdfFile = string.Empty;
List listDevice = new List();
oDynamicParam param2 = new oDynamicParam();
param2.paramDisplayName = "ParentItemId";
param2.paramObject = itemId;
listDevice.Add(param2);
DataSet childData = xData.GetTypedDataSetByProc("recId", typeof(oSurfaceFieldData), "SP_GetAllTrimPackDetails", listDevice);
DataTable dtStyleTrimPackData = childData.Tables[0];
if (dtStyleTrimPackData.Rows.Count > 0)
{
StringBuilder sbTrimPackLabel = new StringBuilder();
sbTrimPackLabel.Append(""); sbTrimPackLabel.Append("");
sbTrimPackLabel.Append("| Style TrimPack : | ");
sbTrimPackLabel.Append("
"); sbTrimPackLabel.Append("
");
PDFBody += sbTrimPackLabel.ToString();
StringBuilder sbStyleDetail = new StringBuilder();
sbStyleDetail.Append("
"); sbStyleDetail.Append(""); sbStyleDetail.Append("");
sbStyleDetail.Append("| Style ID | ");
sbStyleDetail.Append(" : " + Convert.ToString(dtStyleTrimPackData.Rows[0]["StyleDetails_StyleID"]) + " | ");
sbStyleDetail.Append(" Brand Name | ");
sbStyleDetail.Append(" : " + Convert.ToString(dtStyleTrimPackData.Rows[0]["StyleDetails_BrandName"]) + " | ");
sbStyleDetail.Append("
"); sbStyleDetail.Append("");
sbStyleDetail.Append("| Style Code | ");
sbStyleDetail.Append(" : " + Convert.ToString(dtStyleTrimPackData.Rows[0]["StyleDetails_StyleCode"]) + " | ");
sbStyleDetail.Append(" Colour | ");
sbStyleDetail.Append(" : " + Convert.ToString(dtStyleTrimPackData.Rows[0]["StyleDetails_StyleColour"]) + " | ");
sbStyleDetail.Append("
"); sbStyleDetail.Append("
");
PDFBody += sbStyleDetail.ToString();
#region wash care and general items
StringBuilder sbWashCareLabel = new StringBuilder();
sbWashCareLabel.Append("
"); sbWashCareLabel.Append(""); sbWashCareLabel.Append("");
sbWashCareLabel.Append("| Wash Cares : | ");
sbWashCareLabel.Append(" General Items : | ");
sbWashCareLabel.Append("
"); sbWashCareLabel.Append("
");
PDFBody += sbWashCareLabel.ToString();
StringBuilder sbWashCare = new StringBuilder();
DataTable dtGeneralItem = childData.Tables[2];
DataTable dtWashCaredata = childData.Tables[1];
sbWashCare.Append("
");
sbWashCare.Append("");
sbWashCare.Append("");
sbWashCare.Append("");
#region wash care table
sbWashCare.Append("");
sbWashCare.Append("");
foreach (DataColumn column in dtWashCaredata.Columns)
{
column.ColumnName = column.ColumnName.Replace("TrimpackWashCares_WashCareNumbers_", "").ToString();
if (column.ColumnName == "SizeName")
{
column.ColumnName = "Size Name";
}
sbWashCare.Append("| " + column.ColumnName + " | ");
}
sbWashCare.Append(" ");
if (dtWashCaredata.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in dtWashCaredata.Rows)
{
sbWashCare.Append("");
foreach (DataColumn column in dtWashCaredata.Columns)
{
sbWashCare.Append("| " + row[column.ColumnName].ToString() + " | ");
}
sbWashCare.Append(" ");
}
}
else
{
sbWashCare.Append("");
sbWashCare.Append("| No data available in table | ");
sbWashCare.Append(" ");
}
sbWashCare.Append(" ");
#endregion
sbWashCare.Append(" | ");
sbWashCare.Append("");
#region general table
sbWashCare.Append("");
sbWashCare.Append("");
foreach (DataColumn column in dtGeneralItem.Columns)
{
column.ColumnName = column.ColumnName.Replace("TrimpackGeneralItems_GeneralItemNumbers_", "").ToString();
sbWashCare.Append("| " + column.ColumnName + " | ");
}
sbWashCare.Append(" ");
if (dtGeneralItem.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow row in dtGeneralItem.Rows)
{
sbWashCare.Append("");
foreach (DataColumn column in dtGeneralItem.Columns)
{
sbWashCare.Append("| " + row[column.ColumnName].ToString() + " | ");
}
sbWashCare.Append(" ");
}
}
else
{
sbWashCare.Append("");
sbWashCare.Append("| No data available in table | ");
sbWashCare.Append(" ");
}
sbWashCare.Append(" ");
#endregion
sbWashCare.Append(" | "); sbWashCare.Append("
");
sbWashCare.Append("
");
PDFBody += sbWashCare.ToString();
#endregion
StringBuilder sbTrimpackData = new StringBuilder();
sbTrimpackData.Append("
"); sbTrimpackData.Append(""); sbTrimpackData.Append("");
sbTrimpackData.Append("| Fabric Content : " + Convert.ToString(dtStyleTrimPackData.Rows[0]["Trimpack_StyleTrimpack_FabricContent"]) + " | ");
sbTrimpackData.Append(" SKU Price: " + Convert.ToString(dtStyleTrimPackData.Rows[0]["Trimpack_StyleTrimpack_SKUPrice"]) + " | ");
sbTrimpackData.Append(" SKU Total Price: " + Convert.ToString(dtStyleTrimPackData.Rows[0]["Trimpack_StyleTrimpack_SKUTotalPrice"]) + " | ");
sbTrimpackData.Append("
"); sbTrimpackData.Append("
");
PDFBody += sbTrimpackData.ToString();
#region Binding
DataTable dtbindingdata = childData.Tables[3];
StringBuilder sbBindingLabel = new StringBuilder();
sbBindingLabel.Append("
");
sbBindingLabel.Append(""); sbBindingLabel.Append("");
sbBindingLabel.Append("| Binding : | ");
sbBindingLabel.Append("
"); sbBindingLabel.Append("
");
PDFBody += sbBindingLabel.ToString();
StringBuilder sbBinding = new StringBuilder();
sbBinding.Append("");
sbBinding.Append("");
foreach (DataColumn column in dtbindingdata.Columns)
{
column.ColumnName = column.ColumnName.Replace("TrimpackBinding_BindingDetails_", "").ToString();
switch (column.ColumnName)
{
case "FabricQualityReference":
column.ColumnName = "Fabric Quality Reference";
sbBinding.Append("| " + column.ColumnName + " | ");
break;
case "FabricDescription":
column.ColumnName = "Fabric Description";
sbBinding.Append("" + column.ColumnName + " | ");
break;
case "FabricColour":
column.ColumnName = "Fabric Colour";
sbBinding.Append("" + column.ColumnName + " | ");
break;
case "BindingDescription":
column.ColumnName = "Binding Description";
sbBinding.Append("" + column.ColumnName + " | ");
break;
default:
sbBinding.Append("" + column.ColumnName + " | ");
break;
}
}
sbBinding.Append("
");
//Adding DataRow.
if (dtbindingdata.Rows.Count > 0)
{
foreach (DataRow row in dtbindingdata.Rows)
{
sbBinding.Append("");
foreach (DataColumn column in dtbindingdata.Columns)
{
sbBinding.Append("| " + row[column.ColumnName].ToString() + " | ");
}
sbBinding.Append("
");
}
}
else
{
sbBinding.Append("");
sbBinding.Append("| No data available in table | ");
sbBinding.Append("
");
}
//Table end.
sbBinding.Append("
");
PDFBody += sbBinding.ToString();
#endregion
#region Trims
DataTable dttrimdata = childData.Tables[4];
StringBuilder sbTrimLabel = new StringBuilder();
sbTrimLabel.Append("
");
sbTrimLabel.Append(""); sbTrimLabel.Append("");
sbTrimLabel.Append("| Trims : | ");
sbTrimLabel.Append("
"); sbTrimLabel.Append("
");
PDFBody += sbTrimLabel.ToString();
StringBuilder sbTrim = new StringBuilder();
//Table start.
sbTrim.Append("");
//Adding HeaderRow.
sbTrim.Append("");
foreach (DataColumn column in dttrimdata.Columns)
{
column.ColumnName = column.ColumnName.Replace("TrimpackTrims_TrimDetails_", "").ToString();
switch (column.ColumnName)
{
case "QualityReference":
column.ColumnName = "Quality Reference";
sbTrim.Append("| " + column.ColumnName + " | ");
break;
case "Description":
sbTrim.Append("" + column.ColumnName + " | ");
break;
case "TrimColour":
column.ColumnName = "Trim Colour";
sbTrim.Append("" + column.ColumnName + " | ");
break;
case "UnitsorMeters":
column.ColumnName = "Units or Metres";
sbTrim.Append("" + column.ColumnName + " | ");
break;
default:
sbTrim.Append("" + column.ColumnName + " | ");
break;
}
}
sbTrim.Append("
");
//Adding DataRow.
if (dttrimdata.Rows.Count > 0)
{
foreach (DataRow row in dttrimdata.Rows)
{
sbTrim.Append("");
foreach (DataColumn column in dttrimdata.Columns)
{
sbTrim.Append("| " + row[column.ColumnName].ToString() + " | ");
}
sbTrim.Append("
");
}
}
else
{
sbTrim.Append("");
sbTrim.Append("| No data available in table | ");
sbTrim.Append("
");
}
//Table end.
sbTrim.Append("
");
PDFBody += sbTrim.ToString();
#endregion
#region Zips and Zip Size
DataTable dtzipdata = childData.Tables[5];
StringBuilder sbZipLabel = new StringBuilder();
sbZipLabel.Append("
");
sbZipLabel.Append(""); sbZipLabel.Append("");
sbZipLabel.Append("| Zips : | ");
sbZipLabel.Append("
"); sbZipLabel.Append("
");
PDFBody += sbZipLabel.ToString();
StringBuilder sbZip = new StringBuilder();
//Table start.
sbZip.Append("");
//Adding HeaderRow.
sbZip.Append("");
foreach (DataColumn column in dtzipdata.Columns)
{
column.ColumnName = column.ColumnName.Replace("TrimpackZips_ZipDetails_", "").ToString();
switch (column.ColumnName)
{
case "QualityReference":
column.ColumnName = "Quality Reference";
sbZip.Append("| " + column.ColumnName + " | ");
break;
case "Description":
sbZip.Append("" + column.ColumnName + " | ");
break;
case "ZipColour":
column.ColumnName = "Zip Colour";
sbZip.Append("" + column.ColumnName + " | ");
break;
case "ZipID":
break;
case "ParentSurfaceItemId":
break;
default:
sbZip.Append("" + column.ColumnName + " | ");
break;
}
}
sbZip.Append("
");
string zipID = string.Empty;
//Adding DataRow.
if (dtzipdata.Rows.Count > 0)
{
foreach (DataRow row in dtzipdata.Rows)
{
sbZip.Append("");
foreach (DataColumn column in dtzipdata.Columns)
{
if (column.ColumnName == "Quality Reference" || column.ColumnName == "Zip Colour"
|| column.ColumnName == "Description")
{
sbZip.Append("| " + row[column.ColumnName].ToString() + " | ");
}
else if (column.ColumnName == "ZipID" || column.ColumnName == "ParentSurfaceItemId")
{
if (column.ColumnName == "ZipID")
zipID = row[column.ColumnName].ToString();
}
else
{
sbZip.Append("" + row[column.ColumnName].ToString() + " | ");
}
}
sbZip.Append("
");
sbZip.Append("");
var trimpackZipSizes = "SELECT TrimpackZipSizes_ZipSizeDetails_StyleSize,TrimpackZipSizes_ZipSizeDetails_ZipSize," +
"TrimpackZipSizes_ZipSizeDetails_Quantity FROM publ_TrimpackZipSizes WHERE ParentSurfaceItemId = '" + Convert.ToString(dtzipdata.Rows[0]["ParentSurfaceItemId"]) + "'" +
"and TrimpackZipSizes_ZipSizeDetails_ZipID ='" + zipID.ToString() + "'";
DataTable dtzipsize = xData.GetCustomTypedTable(trimpackZipSizes);
foreach (DataColumn column in dtzipsize.Columns)
{
column.ColumnName = column.ColumnName.Replace("TrimpackZipSizes_ZipSizeDetails_", "").ToString();
if (column.ColumnName == "StyleSize")
{
column.ColumnName = "Style Size";
}
else if (column.ColumnName == "ZipSize")
{
column.ColumnName = "Zip Size";
}
sbZip.Append("| " + column.ColumnName + " | ");
}
sbZip.Append(" | ");
sbZip.Append("
");
if (dtzipsize.Rows.Count > 0)
{
//Adding DataRow.
foreach (DataRow rW in dtzipsize.Rows)
{
sbZip.Append("");
foreach (DataColumn column in dtzipsize.Columns)
{
sbZip.Append("| " + rW[column.ColumnName].ToString() + " | ");
}
sbZip.Append(" | ");
sbZip.Append("
");
}
}
else
{
sbZip.Append("");
sbZip.Append("| No data available in table | ");
sbZip.Append("
");
}
}
}
else
{
sbZip.Append("");
sbZip.Append("| No data available in table | ");
sbZip.Append("
");
}
//Table end.
sbZip.Append("
");
PDFBody += sbZip.ToString();
#endregion
StringBuilder sbNotes = new StringBuilder();
sbNotes.Append("
");
sbNotes.Append("");
sbNotes.Append("");
sbNotes.Append("| Notes/Instructions : | ");
sbNotes.Append("" + Convert.ToString(childData.Tables[0].Rows[0]["Trimpack_StyleTrimpack_Instructions"]) + " | ");
sbNotes.Append("
");
sbNotes.Append("
");
PDFBody += sbNotes.ToString();
}
string reportBody = PDFBody;
string reportFile = "TrimPack_" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm") + ".pdf";
string reportPath = HttpContext.Current.Server.MapPath("~/upload/documents/");
utils.validateFolder(reportPath);
utils.ConvertHTMLToPDFFile(reportBody, reportPath + reportFile, true, "", "", false);
pdfFile = reportFile;
return pdfFile;
}
#endregion
}
}