private List <PermitStatus> GetPermitTimelineInternal(string permitNumber, string internalId) { var timeline = new List <PermitStatus>(); List <WorkflowTask> tasks = this.recApi.GetWorkflowTasksHistory(internalId, this.BackgroundToken); if (tasks != null) { foreach (var task in tasks) { if (task.isActive == "Y" || task.isCompleted == "Y") { var status = new PermitStatus { PermitNum = permitNumber, StatusPrevious = task.description + " - " + ((task.status != null) ? task.status.text : string.Empty) }; if (task.comment != null && task.commentDisplay == "Y") { // TODO How to deal correctly with comment permission via task.commentPublicVisible? // status.Comments = task.comment } if (task.statusDate != null) { status.StatusPreviousDate = DateTime.Parse(task.statusDate); } var mapping = this.config.Timeline.FirstOrDefault <TimelineMapping>(t => t.StatusPrevious == status.StatusPrevious); status.StatusPreviousMapped = mapping.StatusPreviousMapped; timeline.Add(status); } } } else { var status = new PermitStatus { PermitNum = permitNumber, StatusPrevious = "Application Submitted" }; } return(timeline); }
private static void processMDCInpsections(Permit permit, Database db) { //Cleanup DB to bring new points for permit Console.WriteLine("Cleaning Data from DB for Permit: " + permit.PermitNum); db.Execute(String.Format("DELETE FROM Inspection WHERE PermitNum = '{0}'", permit.PermitNum)); db.Execute(String.Format("DELETE FROM PermitStatus WHERE PermitNum = '{0}'", permit.PermitNum)); Console.WriteLine("Getting Inspections for Permit: " + permit.PermitNum); List <Inspection> inspections = getMDCInspections(permit.PermitNum); DateTime? lastApprovedInspectionDate = permit.StatusDate; if (permit.AppliedDate != null) { PermitStatus status = new PermitStatus(); status.PermitNum = permit.PermitNum; status.StatusPrevious = "APPLIED"; status.StatusPreviousMapped = "Application Accepted"; status.StatusPreviousDate = permit.AppliedDate; db.Insert("PermitStatus", "id", true, status); permit.StatusCurrent = status.StatusPrevious; permit.StatusCurrentMapped = status.StatusPreviousMapped; permit.StatusDate = status.StatusPreviousDate; } if (permit.IssuedDate != null) { PermitStatus status = new PermitStatus(); status.PermitNum = permit.PermitNum; status.StatusPrevious = "ISSUED"; status.StatusPreviousMapped = "Permit Issued"; status.StatusPreviousDate = permit.IssuedDate; db.Insert("PermitStatus", "id", true, status); permit.StatusCurrent = status.StatusPrevious; permit.StatusCurrentMapped = status.StatusPreviousMapped; permit.StatusDate = status.StatusPreviousDate; } if (isPermitClosed(inspections)) { PermitStatus status = new PermitStatus(); status.PermitNum = permit.PermitNum; status.StatusPrevious = "CLOSED"; status.StatusPreviousMapped = "Permit Finaled"; status.StatusPreviousDate = lastApprovedInspectionDate; db.Insert("PermitStatus", "id", true, status); permit.StatusCurrent = status.StatusPrevious; permit.StatusCurrentMapped = status.StatusPreviousMapped; permit.StatusDate = status.StatusPreviousDate; permit.CompletedDate = status.StatusPreviousDate; } foreach (Inspection inspection in inspections) { db.Insert("Inspection", "Id", true, inspection); } }
private static void processMDCInpsections(Permit permit, Database db) { //Cleanup DB to bring new points for permit Console.WriteLine("Cleaning Data from DB for Permit: " + permit.PermitNum); db.Execute(String.Format("DELETE FROM Inspection WHERE PermitNum = '{0}'", permit.PermitNum)); db.Execute(String.Format("DELETE FROM PermitStatus WHERE PermitNum = '{0}'", permit.PermitNum)); Console.WriteLine("Getting Inspections for Permit: " + permit.PermitNum); List<Inspection> inspections = getMDCInspections(permit.PermitNum); DateTime? lastApprovedInspectionDate = permit.StatusDate; if (permit.AppliedDate != null) { PermitStatus status = new PermitStatus(); status.PermitNum = permit.PermitNum; status.StatusPrevious = "APPLIED"; status.StatusPreviousMapped = "Application Accepted"; status.StatusPreviousDate = permit.AppliedDate; db.Insert("PermitStatus", "id", true, status); permit.StatusCurrent = status.StatusPrevious; permit.StatusCurrentMapped = status.StatusPreviousMapped; permit.StatusDate = status.StatusPreviousDate; } if (permit.IssuedDate != null) { PermitStatus status = new PermitStatus(); status.PermitNum = permit.PermitNum; status.StatusPrevious = "ISSUED"; status.StatusPreviousMapped = "Permit Issued"; status.StatusPreviousDate = permit.IssuedDate; db.Insert("PermitStatus", "id", true, status); permit.StatusCurrent = status.StatusPrevious; permit.StatusCurrentMapped = status.StatusPreviousMapped; permit.StatusDate = status.StatusPreviousDate; } if (isPermitClosed(inspections)) { PermitStatus status = new PermitStatus(); status.PermitNum = permit.PermitNum; status.StatusPrevious = "CLOSED"; status.StatusPreviousMapped = "Permit Finaled"; status.StatusPreviousDate = lastApprovedInspectionDate; db.Insert("PermitStatus", "id", true, status); permit.StatusCurrent = status.StatusPrevious; permit.StatusCurrentMapped = status.StatusPreviousMapped; permit.StatusDate = status.StatusPreviousDate; permit.CompletedDate = status.StatusPreviousDate; } foreach (Inspection inspection in inspections) { db.Insert("Inspection", "Id", true, inspection); } }
static public void PopulateTestDB(TestContext ctx) { Database db = new Database("openpermit"); string[] types = new string[] { "BLDG", "FIRE", "ELEC", "MECH", "PLUM" }; string[] currStatus = new string[] { "APPLIED", "ISSUED", "CLOSED", "EXPIRED" }; string[] statusMapped = new string[] { "Application Accepted", "Permit Issued", "Permit Finaled", "Permit Cancelled" }; string[] applied = new string[] { "01/01/2012", "01/01/2013", "01/01/2014", "01/01/2015" }; string[] issued = new string[] { "01/02/2012", "01/02/2013", "01/02/2014", "01/02/2015" }; string[] closed = new string[] { "03/01/2012", "03/01/2013", "03/01/2014", "03/01/2015" }; string[] expired = new string[] { "06/01/2012", "06/01/2013", "06/01/2014", "06/01/2015" }; for (int i = 0; i < 30; i++) { Permit permit = new Permit(); permit.AddedSqFt = i; permit.MasterPermitNum = (i % 2).ToString(); permit.AppliedDate = Convert.ToDateTime(applied[i % 4]); permit.COIssuedDate = DateTime.Now; permit.CompletedDate = Convert.ToDateTime(closed[i % 4]); permit.ContractorAddress1 = String.Format("29{0} SW {1} Ave", i, i + 6); permit.ContractorAddress2 = "Address2_" + i.ToString(); permit.ContractorCity = "Miami"; permit.ContractorCompanyDesc = "Company Description " + i.ToString(); permit.ContractorCompanyName = "Company Name " + i.ToString(); permit.ContractorEmail = String.Format("Contractor_{0}@aecosoft.com", i); permit.ContractorFullName = "ContractorName_" + i.ToString(); permit.ContractorLicNum = "34RT568903" + i.ToString(); permit.ContractorPhone = "305-444-55" + (i + 10).ToString(); permit.ContractorState = "FL"; permit.ContractorStateLic = "FL5467021"; permit.ContractorTrade = "ContractorTrade_" + i.ToString(); permit.ContractorTradeMapped = "ContractrorTradeMapped_" + i.ToString(); permit.ContractorZip = "331" + (i + 40).ToString(); permit.Description = "PermitDescription_" + i.ToString(); permit.EstProjectCost = 30000 + i; permit.ExpiresDate = Convert.ToDateTime(expired[i % 4]); permit.ExtraFields = "{'blah': 'blue'}"; permit.Fee = 30 + i; permit.HoldDate = DateTime.Now; permit.HousingUnits = i; permit.IssuedDate = Convert.ToDateTime(issued[i % 4]); permit.Jurisdiction = "Miami-Dade"; permit.Latitude = 25.700189 - (double)i/100; permit.Link = String.Format("http://permiturl{0}.com", i); permit.Longitude = -80.288020 - (double)i/100; permit.OriginalAddress1 = String.Format("8{0} NW 1{1}th Ave", i, i + 4); permit.OriginalAddress2 = "OrgAddress2_" + i.ToString(); permit.OriginalCity = "Miami"; permit.OriginalState = "FL"; permit.OriginalZip = "331" + (i + 57).ToString(); permit.PermitClass = "PERM_" + i.ToString(); permit.PermitClassMapped = "PERM_" + i.ToString() + "_CLASS"; permit.PermitNum = "PERMNUM_" + i.ToString(); permit.PermitType = types[i % 5]; permit.PermitTypeDesc = "TYPEDESC_" + i.ToString(); permit.PermitTypeMapped = "TYPEMAPPEDDESC_" + i.ToString(); permit.PIN = "456" + (10 + i).ToString(); permit.ProjectId = "PROJID_" + i.ToString(); permit.ProjectName = "PROJNAME_" + i.ToString(); permit.ProposedUse = "PORPUSE_" + i.ToString(); permit.Publisher = "PUBLISH_" + i.ToString(); permit.RemovedSqFt = i; permit.StatusCurrent = currStatus[i % 4]; permit.StatusCurrentMapped = statusMapped[i % 4]; permit.StatusDate = DateTime.Now; permit.TotalAccSqFt = 10000 + i; permit.TotalFinishedSqFt = 5000 + i; permit.TotalHeatedSqFt = 5000 + i; permit.TotalSprinkledSqFt = 4000 + i; permit.TotalSqFt = 2500 + i; permit.TotalUnfinishedSqFt = 500 + i; permit.TotalUnheatedSqFt = 1000 + i; permit.VoidDate = DateTime.Now; permit.WorkClass = "WORKCLASS_" + i.ToString(); permit.WorkClassMapped = "WORKCLASS_" + i.ToString(); db.Insert("Permit", "PermitNum", false, permit); db.Execute("UPDATE Permit SET Location=geography::Point(Latitude, Longitude, 4326)"); } for (int j = 0; j < 10; j++) { PermitStatus status = new PermitStatus(); status.PermitNum = "PERMNUM_15"; status.StatusPrevious = "STATUS_" + j; status.StatusPreviousDate = DateTime.Now; status.StatusPreviousMapped = "STATUSMAPPED_" + j; status.Comments = "COMMENTS_" + j; db.Insert("PermitStatus", "id", true, status); } for (int j = 0; j < 10; j++) { Inspection inspection = new Inspection(); inspection.PermitNum = "PERMNUM_15"; inspection.InspectedDate = DateTime.Now; inspection.InspectionNotes = "MYNOTES_" + j; inspection.Inspector = "INSPECTOR_" + j; inspection.InspType = "TYPE_" + j; inspection.InspTypeMapped = "TYPEMAPPED_" + j; inspection.ReInspection = 0; inspection.RequestDate = DateTime.Now; inspection.Result = "PASSED"; inspection.ResultMapped = "PASSED_MAPPED"; inspection.ScheduledDate = DateTime.Now; inspection.Description = "DESCRIPTION_" + j; inspection.DesiredDate = DateTime.Now; inspection.ExtraFields = "{'blah': 'blue'}"; inspection.Final = 1; db.Insert("Inspection", "Id", true, inspection); } }
static public void PopulateTestDB(TestContext ctx) { Database db = new Database("openpermit"); string[] types = new string[] { "BLDG", "FIRE", "ELEC", "MECH", "PLUM" }; string[] currStatus = new string[] { "APPLIED", "ISSUED", "CLOSED", "EXPIRED" }; string[] statusMapped = new string[] { "Application Accepted", "Permit Issued", "Permit Finaled", "Permit Cancelled" }; string[] applied = new string[] { "01/01/2012", "01/01/2013", "01/01/2014", "01/01/2015" }; string[] issued = new string[] { "01/02/2012", "01/02/2013", "01/02/2014", "01/02/2015" }; string[] closed = new string[] { "03/01/2012", "03/01/2013", "03/01/2014", "03/01/2015" }; string[] expired = new string[] { "06/01/2012", "06/01/2013", "06/01/2014", "06/01/2015" }; for (int i = 0; i < 30; i++) { Permit permit = new Permit(); permit.AddedSqFt = i; permit.MasterPermitNum = (i % 2).ToString(); permit.AppliedDate = Convert.ToDateTime(applied[i % 4]); permit.COIssuedDate = DateTime.Now; permit.CompletedDate = Convert.ToDateTime(closed[i % 4]); permit.ContractorAddress1 = String.Format("29{0} SW {1} Ave", i, i + 6); permit.ContractorAddress2 = "Address2_" + i.ToString(); permit.ContractorCity = "Miami"; permit.ContractorCompanyDesc = "Company Description " + i.ToString(); permit.ContractorCompanyName = "Company Name " + i.ToString(); permit.ContractorEmail = String.Format("Contractor_{0}@aecosoft.com", i); permit.ContractorFullName = "ContractorName_" + i.ToString(); permit.ContractorLicNum = "34RT568903" + i.ToString(); permit.ContractorPhone = "305-444-55" + (i + 10).ToString(); permit.ContractorState = "FL"; permit.ContractorStateLic = "FL5467021"; permit.ContractorTrade = "ContractorTrade_" + i.ToString(); permit.ContractorTradeMapped = "ContractrorTradeMapped_" + i.ToString(); permit.ContractorZip = "331" + (i + 40).ToString(); permit.Description = "PermitDescription_" + i.ToString(); permit.EstProjectCost = 30000 + i; permit.ExpiresDate = Convert.ToDateTime(expired[i % 4]); permit.ExtraFields = "{'blah': 'blue'}"; permit.Fee = 30 + i; permit.HoldDate = DateTime.Now; permit.HousingUnits = i; permit.IssuedDate = Convert.ToDateTime(issued[i % 4]); permit.Jurisdiction = "Miami-Dade"; permit.Latitude = 25.700189 - (double)i / 100; permit.Link = String.Format("http://permiturl{0}.com", i); permit.Longitude = -80.288020 - (double)i / 100; permit.OriginalAddress1 = String.Format("8{0} NW 1{1}th Ave", i, i + 4); permit.OriginalAddress2 = "OrgAddress2_" + i.ToString(); permit.OriginalCity = "Miami"; permit.OriginalState = "FL"; permit.OriginalZip = "331" + (i + 57).ToString(); permit.PermitClass = "PERM_" + i.ToString(); permit.PermitClassMapped = "PERM_" + i.ToString() + "_CLASS"; permit.PermitNum = "PERMNUM_" + i.ToString(); permit.PermitType = types[i % 5]; permit.PermitTypeDesc = "TYPEDESC_" + i.ToString(); permit.PermitTypeMapped = "TYPEMAPPEDDESC_" + i.ToString(); permit.PIN = "456" + (10 + i).ToString(); permit.ProjectId = "PROJID_" + i.ToString(); permit.ProjectName = "PROJNAME_" + i.ToString(); permit.ProposedUse = "PORPUSE_" + i.ToString(); permit.Publisher = "PUBLISH_" + i.ToString(); permit.RemovedSqFt = i; permit.StatusCurrent = currStatus[i % 4]; permit.StatusCurrentMapped = statusMapped[i % 4]; permit.StatusDate = DateTime.Now; permit.TotalAccSqFt = 10000 + i; permit.TotalFinishedSqFt = 5000 + i; permit.TotalHeatedSqFt = 5000 + i; permit.TotalSprinkledSqFt = 4000 + i; permit.TotalSqFt = 2500 + i; permit.TotalUnfinishedSqFt = 500 + i; permit.TotalUnheatedSqFt = 1000 + i; permit.VoidDate = DateTime.Now; permit.WorkClass = "WORKCLASS_" + i.ToString(); permit.WorkClassMapped = "WORKCLASS_" + i.ToString(); db.Insert("Permit", "PermitNum", false, permit); db.Execute("UPDATE Permit SET Location=geography::Point(Latitude, Longitude, 4326)"); } for (int j = 0; j < 10; j++) { PermitStatus status = new PermitStatus(); status.PermitNum = "PERMNUM_15"; status.StatusPrevious = "STATUS_" + j; status.StatusPreviousDate = DateTime.Now; status.StatusPreviousMapped = "STATUSMAPPED_" + j; status.Comments = "COMMENTS_" + j; db.Insert("PermitStatus", "id", true, status); } for (int j = 0; j < 10; j++) { Inspection inspection = new Inspection(); inspection.PermitNum = "PERMNUM_15"; inspection.InspectedDate = DateTime.Now; inspection.InspectionNotes = "MYNOTES_" + j; inspection.Inspector = "INSPECTOR_" + j; inspection.InspType = "TYPE_" + j; inspection.InspTypeMapped = "TYPEMAPPED_" + j; inspection.ReInspection = 0; inspection.RequestDate = DateTime.Now; inspection.Result = "PASSED"; inspection.ResultMapped = "PASSED_MAPPED"; inspection.ScheduledDate = DateTime.Now; inspection.Description = "DESCRIPTION_" + j; inspection.DesiredDate = DateTime.Now; inspection.ExtraFields = "{'blah': 'blue'}"; inspection.Final = 1; db.Insert("Inspection", "Id", true, inspection); } }