private static DataInstance[] ResolveCaseSummary(CaseDetails caseDetails)
        {
            if (caseDetails.ConsultationSummaryItems == null && caseDetails.ReportItems == null)
            {
                return(null);
            }

            var items = new List <DataInstance>();

            if (caseDetails.ReportItems != null)
            {
                items.AddRange(caseDetails.ReportItems.Select(i => new DataInstance()
                {
                    Caption = i.Text, Name = "ReportText", Values = new string[] { i.Text }
                }));
            }

            if (caseDetails.ConsultationSummaryItems != null)
            {
                items.AddRange(caseDetails.ConsultationSummaryItems.Select(c => new DataInstance()
                {
                    Caption = c, Name = "DispositionDisplayText", Values = new string[] { c }
                }));
            }

            return(items.ToArray());
        }
Пример #2
0
    public IEnumerator GetSingleCase(GameObject loadingGo, string countryName, System.Action <bool, CaseDetails> aCallback)
    {
        string          path            = "https://api.covid19tracking.narrativa.com/api/" + CodeUtils.GetCurrentDate() + "/country/" + countryName;
        UnityWebRequest cardInfoRequest = UnityWebRequest.Get(path);
        var             operation       = cardInfoRequest.SendWebRequest();

        loadingGo.SetActive(true);
        yield return(CodeUtils.ProgressBar(operation));

        if (cardInfoRequest.isNetworkError || cardInfoRequest.isHttpError)
        {
            aCallback(true, new CaseDetails());
            Debug.Log(cardInfoRequest.error);
            yield break;
        }
        loadingGo.SetActive(false);
        JSONNode    cardInfo       = JSON.Parse(cardInfoRequest.downloadHandler.text);
        int         deadTotal      = cardInfo["dates"][CodeUtils.GetCurrentDate()]["countries"][CodeUtils.UppercaseFirst(countryName)]["today_deaths"];
        int         covidTotal     = cardInfo["dates"][CodeUtils.GetCurrentDate()]["countries"][CodeUtils.UppercaseFirst(countryName)]["today_confirmed"];
        int         covidToday     = cardInfo["dates"][CodeUtils.GetCurrentDate()]["countries"][CodeUtils.UppercaseFirst(countryName)]["today_new_confirmed"];
        int         deadToday      = cardInfo["dates"][CodeUtils.GetCurrentDate()]["countries"][CodeUtils.UppercaseFirst(countryName)]["today_new_deaths"];
        int         recoveredToday = cardInfo["dates"][CodeUtils.GetCurrentDate()]["countries"][CodeUtils.UppercaseFirst(countryName)]["today_new_recovered"];
        int         recoveredTotal = cardInfo["dates"][CodeUtils.GetCurrentDate()]["countries"][CodeUtils.UppercaseFirst(countryName)]["today_recovered"];
        CaseDetails caseDetail     = new CaseDetails(covidToday, deadToday, recoveredTotal, recoveredToday, covidTotal, deadTotal, countryName);

        aCallback(false, caseDetail);
    }
Пример #3
0
        public void UpdateCase(CaseDetails details)
        {
            var theCase = UnitOfWork.Find <Domain.Summaries.Case.Case>(details.Id);

            details.MapInto(theCase);
            UnitOfWork.Commit();
        }
Пример #4
0
 void SetDetailUI(CaseDetails caseDetails)
 {
     nameTxt.text = caseDetails.countryName;
     ctod.text    = caseDetails.covidToday.ToString();
     ctot.text    = caseDetails.covidNumber.ToString();
     rtod.text    = caseDetails.recoveredToday.ToString();
     rtot.text    = caseDetails.recoveredTotal.ToString();
     dtod.text    = caseDetails.deadToday.ToString();
     dtot.text    = caseDetails.deadNumber.ToString();
     flag.texture = Resources.Load <Texture>("Flags/" + caseDetails.countryName);
 }
        public string BuildReference(CaseDetails caseDetails)
        {
            if (string.IsNullOrEmpty(caseDetails.JourneyId))
            {
                throw new ArgumentException("caseDetails does not contain a journeyId");
            }

            var partJourneyId = caseDetails.JourneyId.Substring(0, 5).ToUpper();

            return(string.Format("{0}{1}", REF_PREFIX, partJourneyId));
        }
Пример #6
0
        public Guid CreateCase(Guid agencyId, string number, CaseDetails details)
        {
            // TODO: Permissions
            //RequireModulePermissions(agencyId, ModuleType.Case, new ModulePermissions() {CanCreate = true});

            var newCase = new Domain.Summaries.Case.Case(IdentityId, agencyId, number);

            details.MapInto(newCase);
            UnitOfWork.Add(newCase);
            UnitOfWork.Commit();

            return(newCase.Id);
        }
Пример #7
0
        public JsonResult SaveCase(CaseDetailsVM caseDetails)
        {
            List <VictimDetails> victims = new List <VictimDetails>();
            var agentId = "Pranay";

            foreach (var item in caseDetails.VictimsDetails)
            {
                VictimDetails victim = new VictimDetails
                {
                    Name           = item.Name,
                    Age            = item.Age,
                    ChiefComplaint = item.ChiefComplaint,
                    Gender         = item.Gender,
                    Remarks        = item.Remarks,
                    VictimId       = item.VictimId
                };
                victims.Add(victim);
            }

            CaseDetails newCaseDetails = new CaseDetails
            {
                CallId               = caseDetails.CallId,
                CallerName           = caseDetails.CallerName,
                CallTime             = caseDetails.CallTime,
                CallType             = caseDetails.CallType,
                IncidentLocation     = caseDetails.IncidentLocation,
                CaseStartTime        = caseDetails.CaseStartTime,
                ContactNumber        = caseDetails.ContactNumber,
                HospitalHandOverTime = caseDetails.HospitalHandOverTime,
                BackToBaseTime       = caseDetails.BackToBaseTime,
                InstituteReachTime   = caseDetails.InstituteReachTime,
                SceneReachTime       = caseDetails.SceneReachTime,
                SceneDepartureTime   = caseDetails.SceneDepartureTime,
                StandardRemark       = caseDetails.StandardRemark,
                InstituteReachOdo    = caseDetails.InstituteReachOdo,
                BackToBaseOdo        = caseDetails.BackToBaseOdo,
                SceneReachOdo        = caseDetails.SceneReachOdo,
                StartOdo             = caseDetails.StartOdo,
                VehicleDetails       = new Vehicle
                {
                    VehicleId     = caseDetails.VehicleDetails.VehicleId,
                    VehicleNumber = caseDetails.VehicleDetails.VehicleNumber,
                    State         = caseDetails.VehicleDetails.State
                },
                VictimsDetails = victims
            };
            var status = 2;
            var result = callIncident.SaveNewCaseDetails(newCaseDetails, agentId, status);

            return(Json(new { success = true }));
        }
        private static stepInstance[] ResolveCaseSteps(CaseDetails caseDetails)
        {
            var items = new List <stepInstance>();

            if (caseDetails.CaseSteps != null)
            {
                items.AddRange(caseDetails.CaseSteps.Select(i => new stepInstance()
                {
                    QuestionId = i.QuestionId, QuestionNo = i.QuestionNo, AnswerOrder = i.AnswerOrder
                }));
            }

            return(items.ToArray());
        }
Пример #9
0
        private ContactFormPerson CreateContactDetails()
        {
            if (case_owner.SelectedValue == null || case_type.SelectedValue == null)
            {
                throw new ArgumentNullException();
            }

            ContactFormPerson contactFormDetails = new ContactFormPerson()
            {
                CaseOwnerValue = case_owner.SelectedValue,
                CaseInfo       = new CaseDetails()
                {
                    CaseTypeEnum                              = CaseDetails.GetCaseTypeKey(case_type.SelectedValue.ToString()),
                    OpenDate                                  = DateTime.Now,
                    DecisionDate                              = case_decision_date.SelectedDate ?? null,
                    CaseReceivementDate                       = receiving_case_date.SelectedDate ?? null,
                    PublishDays                               = publish_days.Text,
                    CourtName                                 = court_name.SelectedValue != null?court_name.SelectedValue.ToString() : string.Empty,
                                                    CaseNum   = case_num.Text,
                                                    JudgeName = judge_name.Text
                },
                Person_1 = new Person()
                {
                    FullName   = fullName_1.Text,
                    Id         = id_1.Text,
                    BirthDate  = birth_date_1.SelectedDate ?? null,
                    LowyerName = lowyer_1.Text
                },
                Person_2 = new Person()
                {
                    FullName   = fullName_2.Text,
                    Id         = id_2.Text,
                    BirthDate  = birth_date_2.SelectedDate ?? null,
                    LowyerName = lowyer_2.Text
                },
                PartnershipStartDate = partnership_start.SelectedDate ?? null,
                PartnershipEndDate   = partnership_end.SelectedDate ?? null,
                WorkEssence          = work_essence.Text,
                TotalPrice           = total_price.Text,
                TotalPriceType       = (PaymentType)new_client_total_price_type.SelectedIndex,
                AdvancePrice         = advance_price.Text,
                CreationDate         = DateTime.Now
            };

            return(contactFormDetails);
        }
Пример #10
0
    public static int SaveCaseDetails(CaseDetails casedetails)
    {
        var oParams = new DBParamCollection
        {
            { "@TaxRefNo", casedetails.TaxRefNo },
            { "@Year", casedetails.Year },
            { "@CaseNotes", casedetails.CaseNotes },
            { "@DateCreated", casedetails.DateCreated },
            { "@CaseNo", casedetails.CaseNo },
            { "@EntityName", casedetails.EntityName },
            { "@RequestorUnit", casedetails.RequestorUnit },
            { "@DateRequested", casedetails.DateRequested },
            { "@CountryName", casedetails.CountryName },
            { "@CountryCode", casedetails.CountryCode },
            { "@DateRecieved", casedetails.DateRecieved },
        };

        using (var command = new DBCommand("[dbo].[usp_CaseDetailsInsert]", QueryType.StoredProcedure, oParams))

        {
            return(command.Execute());
        }
    }
Пример #11
0
 public Data(Person advocate, Person respondent, CaseDetails caseDetails)
 {
     Advocate    = advocate;
     Respondent  = respondent;
     CaseDetails = caseDetails;
 }
Пример #12
0
        public bool CloseCase(CaseDetails newCaseDetails, string agentId, int status)
        {
            var success = false;

            try
            {
                MySqlConnection conn =
                    new MySqlConnection(ConfigurationManager.ConnectionStrings["gvkemricon"].ConnectionString);
                MySqlCommand     cmd = new MySqlCommand();
                MySqlDataAdapter ad  = new MySqlDataAdapter(cmd);
                conn.Open();

                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.CommandText = "SaveNewCaseDetails";
                cmd.Parameters.AddWithValue("@agentid", agentId);
                cmd.Parameters.AddWithValue("@vCallid", newCaseDetails.CallId);
                cmd.Parameters.AddWithValue("@callerName", newCaseDetails.CallerName);
                cmd.Parameters.AddWithValue("@callType", newCaseDetails.CallType);
                cmd.Parameters.AddWithValue("@statusId", status);
                cmd.Parameters.AddWithValue("@phoneNumber", newCaseDetails.ContactNumber);
                cmd.Parameters.AddWithValue("@incidentLocation", newCaseDetails.IncidentLocation);

                cmd.ExecuteNonQuery();

                cmd.CommandText = "SaveNewCaseVehicleAssignment";
                //cmd.Parameters.AddWithValue("@agentid", agentId);
                //cmd.Parameters.AddWithValue("@vCallid", newCaseDetails.CallId);
                cmd.Parameters.AddWithValue("@vehicleId", newCaseDetails.VehicleDetails.VehicleId);
                cmd.Parameters.AddWithValue("@startTime", newCaseDetails.CaseStartTime);
                cmd.Parameters.AddWithValue("@sceneReachTime", newCaseDetails.SceneReachTime);
                cmd.Parameters.AddWithValue("@sceneDepartureTime", newCaseDetails.SceneDepartureTime);
                cmd.Parameters.AddWithValue("@hospitalHandoverTime", newCaseDetails.HospitalHandOverTime);
                cmd.Parameters.AddWithValue("@instituteReachTime", newCaseDetails.InstituteReachTime);
                cmd.Parameters.AddWithValue("@backToBaseTime", newCaseDetails.BackToBaseTime);
                cmd.Parameters.AddWithValue("@vehicleNo", newCaseDetails.VehicleDetails.VehicleNumber);
                cmd.Parameters.AddWithValue("@startOdo", newCaseDetails.StartOdo);
                cmd.Parameters.AddWithValue("@sceneReachOdo", newCaseDetails.SceneReachOdo);
                cmd.Parameters.AddWithValue("@instituteReachOdo", newCaseDetails.InstituteReachOdo);
                cmd.Parameters.AddWithValue("@baseReachOdo", newCaseDetails.BackToBaseOdo);
                cmd.Parameters.AddWithValue("@callTime", newCaseDetails.CallTime);

                cmd.ExecuteNonQuery();

                cmd.Parameters.AddWithValue("@victimName", "");
                cmd.Parameters.AddWithValue("@victimAge", 0);
                cmd.Parameters.AddWithValue("@victimGender", 0);
                cmd.Parameters.AddWithValue("@victimRemarks", "");
                cmd.Parameters.AddWithValue("@chiefComplaintId", 0);
                cmd.Parameters.AddWithValue("@victimId", 0);
                cmd.Parameters.AddWithValue("@standardRemarksId", newCaseDetails.StandardRemark);

                foreach (var victim in newCaseDetails.VictimsDetails)
                {
                    cmd.CommandText = "SaveNewCaseVictimDetails";
                    cmd.Parameters["@victimName"].Value       = victim.Name;
                    cmd.Parameters["@victimAge"].Value        = victim.Age;
                    cmd.Parameters["@victimGender"].Value     = victim.Gender;
                    cmd.Parameters["@victimRemarks"].Value    = victim.Remarks;
                    cmd.Parameters["@chiefComplaintId"].Value = victim.ChiefComplaint;
                    cmd.Parameters["@victimId"].Value         = victim.VictimId;

                    cmd.ExecuteNonQuery();
                    success = true;
                }

                conn.Close();
            }
            catch (Exception e)
            {
            }
            return(success);
        }
Пример #13
0
        public CaseDetails GetCaseDetails(string callId, string agentId)
        {
            CaseDetails selectedCase = new CaseDetails();

            try
            {
                MySqlConnection conn =
                    new MySqlConnection(ConfigurationManager.ConnectionStrings["gvkemricon"].ConnectionString);
                DataSet   ds = new DataSet();
                DataTable dt = new DataTable();
                conn.Open();
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = conn;
                MySqlDataAdapter ad = new MySqlDataAdapter(cmd);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "GetSelectedCase";
                cmd.Parameters.AddWithValue("@agentid", agentId);
                cmd.Parameters.AddWithValue("@vcallid", callId);

                ad.Fill(ds);
                conn.Close();
                List <VictimDetails> victims = new List <VictimDetails>();
                Vehicle vehicleDetails       = new Vehicle();

                selectedCase.CallId          = ds.Tables[0].Rows[0]["callid"].ToString();
                selectedCase.CallTime        = Convert.ToDateTime(ds.Tables[0].Rows[0]["entry_time"]);
                vehicleDetails.VehicleNumber = ds.Tables[0].Rows[0]["vehicle_no"].ToString();
                vehicleDetails.VehicleId     = Convert.ToInt32(ds.Tables[0].Rows[0]["vehicle_id"]);
                selectedCase.VehicleDetails  = vehicleDetails;

                selectedCase.CallType         = Convert.ToInt32(ds.Tables[0].Rows[0]["call_type_id"]);
                selectedCase.ContactNumber    = ds.Tables[0].Rows[0]["phone_number"].ToString();
                selectedCase.CallerName       = ds.Tables[0].Rows[0]["caller_name"].ToString();
                selectedCase.IncidentLocation = ds.Tables[0].Rows[0]["locality"].ToString();

                selectedCase.StandardRemark       = Convert.ToInt32(ds.Tables[0].Rows[0]["standard_remarks_id"]);
                selectedCase.CaseStartTime        = Convert.ToDateTime(ds.Tables[0].Rows[0]["start_time"]);
                selectedCase.SceneReachTime       = Convert.ToDateTime(ds.Tables[0].Rows[0]["scene_arrival_time"]);
                selectedCase.SceneDepartureTime   = Convert.ToDateTime(ds.Tables[0].Rows[0]["scene_depature_time"]);
                selectedCase.InstituteReachTime   = Convert.ToDateTime(ds.Tables[0].Rows[0]["institute_reach_time"]);
                selectedCase.HospitalHandOverTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["HandoverTime"]);
                selectedCase.BackToBaseTime       = Convert.ToDateTime(ds.Tables[0].Rows[0]["BacktoBaseTime"]);
                selectedCase.StartOdo             = ds.Tables[0].Rows[0]["odo_base_start"].ToString();
                selectedCase.SceneReachOdo        = ds.Tables[0].Rows[0]["odo_scene"].ToString();
                selectedCase.InstituteReachOdo    = ds.Tables[0].Rows[0]["odo_hospital"].ToString();
                selectedCase.BackToBaseOdo        = ds.Tables[0].Rows[0]["odo_base_reach"].ToString();

                if (ds.Tables[0].Rows.Count > 0)
                {
                    for (var i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        VictimDetails victim = new VictimDetails();
                        victim.Name           = ds.Tables[0].Rows[i]["victim_name"].ToString();
                        victim.Age            = Convert.ToInt32(ds.Tables[0].Rows[i]["age"]);
                        victim.Gender         = ds.Tables[0].Rows[i]["gender"].ToString();
                        victim.Remarks        = ds.Tables[0].Rows[i]["remarks"].ToString();
                        victim.ChiefComplaint = Convert.ToInt32(ds.Tables[0].Rows[i]["chief_complaint_id"]);
                        victim.VictimId       = Convert.ToInt32(ds.Tables[0].Rows[i]["victim_id"]);

                        victims.Add(victim);
                    }
                }
                selectedCase.VictimsDetails = victims;
            }
            catch (Exception e)
            {
            }
            return(selectedCase);
        }
Пример #14
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        var docs = (List <HttpPostedFile>)Session["Doc"];

        if (docs != null)
        {
            if (docs.Count != 0)
            {
                foreach (var item in docs)
                {
                    var filename = Path.GetFileName(item.FileName);

                    var docName = Server.MapPath("../Documents//" + filename);

                    var url  = System.Configuration.ConfigurationManager.AppSettings["document-service-url-post"];
                    var path = @"D:\txt.txt";
                    if (File.Exists(path))
                    {
                        File.Delete(path);
                    }
                    using (FileStream inputStream = new FileStream(docName, FileMode.Open, FileAccess.Read))
                    {
                        File.AppendAllText(path, "{ ");
                        File.AppendAllText(path, "'objectType':'sars_document',");
                        File.AppendAllText(path, "'objectName':'" + Path.GetFileName(docName) + "',");
                        File.AppendAllText(path, "'contentType':'" + Path.GetExtension(docName).Replace(".", "") + "',");
                        File.AppendAllText(path, " 'author':'" + Environment.UserName + "',");
                        File.AppendAllText(path, " 'properties':");
                        File.AppendAllText(path, "   [");
                        File.AppendAllText(path, "   { 'sars_uuid':'hahahaha'},");
                        File.AppendAllText(path, "   { 'sars_part_no':'10'},");
                        File.AppendAllText(path, "   { 'sars_guid':'SWIMS01'},");
                        File.AppendAllText(path, "   { 'sars_case_no':'1024'},");
                        File.AppendAllText(path, "   { 'sars_shred_ind':'0'},");
                        File.AppendAllText(path, "   { 'sars_application_id':'REST Service 2'},");
                        File.AppendAllText(path, "   { 'sars_transaction_step':'0'},");
                        File.AppendAllText(path, "   { 'sars_parts_total':'0'},");
                        File.AppendAllText(path, "   { 'sars_parts_no':'10'},");
                        File.AppendAllText(path, "   { 'sars_is_replica':'false'},");
                        File.AppendAllText(path, "   { 'sars_archive_flag':'0'}");
                        File.AppendAllText(path, " ],");
                        File.AppendAllText(path, "'content':'");

                        int    buffer_size = 30000; //or any multiple of 3
                        byte[] buffer      = new byte[buffer_size];
                        int    bytesRead   = inputStream.Read(buffer, 0, buffer.Length);
                        while (bytesRead > 0)
                        {
                            byte[] buffer2 = buffer;
                            if (bytesRead < buffer_size)
                            {
                                buffer2 = new byte[bytesRead];
                                //Buffer.BlockCopy(buffer, 0, buffer2, 0, bytesRead);
                            }
                            string base64String = System.Convert.ToBase64String(buffer2);
                            File.AppendAllText(path, base64String);
                            bytesRead = inputStream.Read(buffer, 0, buffer.Length);
                        }
                        File.AppendAllText(path, "' }");
                    }

                    var myReq = WebRequest.Create(url) as HttpWebRequest;
                    myReq.ContentType = "application/json; charset=utf-8";
                    myReq.Method      = "POST";
                    myReq.Accept      = "application/json; charset=utf-8";

                    //var arr = Encoding.ASCII.GetBytes( data);
                    var arr = File.ReadAllBytes(path);
                    using (var streamWriter = myReq.GetRequestStream())
                    {
                        streamWriter.Write(arr, 0, arr.Length);
                        streamWriter.Flush();
                        streamWriter.Close();
                    }
                    var httpResponse = (HttpWebResponse)myReq.GetResponse();
                    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                    {
                        var result = streamReader.ReadToEnd();
                        if (!string.IsNullOrEmpty(result))
                        {
                            var x = JsonConvert.DeserializeObject <UploadResponse>(result.Replace("[", "").Replace("]", ""));

                            var uploadedfiles = new CaseDetailsUploadedFiles()
                            {
                                CaseNo         = txtCaseNo.Text,
                                TaxRefNo       = txtTaxRefNo.Text,
                                FileName       = filename,
                                ObjectId       = x.objectId,
                                Timestamp      = DateTime.Now,
                                Owner          = x.owner,
                                FilePath       = x.filePath,
                                FileSize       = x.fileSize,
                                Message        = x.message,
                                DocumentumDate = x.creationDate,
                                UploadedBy     = Environment.UserName
                            };
                            int uploaded = DatabaseWriter.SaveUploadedFiles(uploadedfiles);
                        }
                    }

                    if (File.Exists(docName))
                    {
                        File.Delete(docName);
                    }
                }
            }
        }
        var countryItems = (ddlCountryList.SelectedItem.Text).Split('-');
        var countryName  = "";

        if (countryItems != null)
        {
            countryName = countryItems[0];
        }
        else
        {
            countryName = ddlCountryList.SelectedValue;
        }

        var casedetails = new CaseDetails()
        {
            CaseNo        = txtCaseNo.Text,
            TaxRefNo      = txtTaxRefNo.Text,
            EntityName    = txtEntityName.Text,
            RequestorUnit = txtRequestorUnit.Text,
            Year          = string.IsNullOrWhiteSpace(txtYear.Text) ? int.Parse(txtYear.Text) : DateTime.Now.Year,
            CaseNotes     = txtNotes.Text,
            DateRequested = string.IsNullOrWhiteSpace(txtDateRequested.Text) ? DateTime.Parse(txtDateRequested.Text) : DateTime.Now,
            DateCreated   = DateTime.Now,
            DateRecieved  = string.IsNullOrWhiteSpace(txtDateRecieved.Text) ? DateTime.Parse(txtDateRecieved.Text) : DateTime.Now,
            CountryCode   = ddlCountryList.SelectedValue,
            CountryName   = countryName
        };
        decimal saved = DatabaseWriter.SaveCaseDetails(casedetails);

        if (saved < 1)
        {
            var message = "Case Details for Case NO: " + casedetails.CaseNo + "  Saved Successfully";
            ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('" + message + "');window.location ='../Default.aspx';", true);
        }
    }
Пример #15
0
        private async void btnGenerate_Click(object sender, RoutedEventArgs e)
        {
            TxtBlkOutputMessage.Text = "Generating output...";

            var addrAdv = new Address(TxtAdvAddr1.Text,
                                      TxtAdvAddr2.Text,
                                      TxtAdvAddr3.Text,
                                      TxtAdvCity.Text,
                                      TxtAdvDistrict.Text,
                                      CmbAdvState.Text,
                                      int.Parse(TxtAdvPinCode.Text));
            var advocate = new Person(TxtAdvLName.Text,
                                      TxtAdvFName.Text,
                                      TxtAdvTitle.Text,
                                      addrAdv);

            var addrResp = new Address(TxtCltAddr1.Text,
                                       TxtCltAddr2.Text,
                                       TxtCltAddr3.Text,
                                       TxtCltCity.Text,
                                       TxtCltDistrict.Text,
                                       CmbCltState.Text,
                                       int.Parse(TxtCltPinCode.Text));
            var respondent = new Person(TxtCltLName.Text,
                                        TxtCltFName.Text,
                                        TxtCltTitle.Text,
                                        addrResp);

            var caseDetails = new CaseDetails(TxtCaseType.Text,
                                              TxtCaseNo1.Text,
                                              TxtCaseNo2.Text,
                                              DtFilingDate.SelectedDate.GetValueOrDefault(),
                                              CmbCtName.Text,
                                              TxtPetitioner.Text,
                                              TxtJurisdiction.Text);
            var data = new Data(advocate, respondent, caseDetails);

            var task       = Task.Run(() => Generators.generatePdf(data, TxtBlkOutputMessage));
            var outputPath = await task;

            var message = string.IsNullOrWhiteSpace(outputPath) ?
                          "Error generating file" :
                          $"File written to:\n{outputPath}";

            TxtBlkOutputMessage.Text = message;

            if (string.IsNullOrWhiteSpace(outputPath))
            {
                return;
            }

            // Try to open the file in default viewer
            try {
                var p = new Process {
                    StartInfo = new ProcessStartInfo(outputPath)
                    {
                        UseShellExecute = true
                    }
                };
                p.Start();
            } catch (Exception exception) {
                MessageBox.Show(exception.StackTrace);
            }
        }