Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }