예제 #1
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType     = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;

            // The Request QueryString here is protected against XSS attacks by Request Validation
            QuerySettings settings = CCHSerializer.DeserializeSettings <QuerySettings>(context.Request.QueryString);

            if (settings.Lat == null)
            {
                settings.Lat = context.GetLatitude <String>();
            }
            if (settings.Lng == null)
            {
                settings.Lng = context.GetLongitude <String>();
            }

            ResultsBack rb = new ResultsBack();

            using (GetDoctorsForService gdfs = new GetDoctorsForService())
            {
                gdfs.ServiceName = context.GetServiceName <String>();
                gdfs.Latitude    = settings.Lat;
                gdfs.Longitude   = settings.Lng;
                gdfs.SpecialtyID = context.GetSpecialtyID <Int32>();
                //gdfs.MemberMedicalID = ThisSession.SubscriberMedicalID;
                gdfs.CCHID     = context.GetCCHID <Int32>();
                gdfs.UserID    = context.GetUserLogginID <String>();
                gdfs.SessionID = context.GetSessionID <String>();
                gdfs.Domain    = context.GetDomain <String>();
                gdfs.GetData();
                if (!gdfs.HasErrors)
                {
                    ResultData rd = new ResultData();
                    gdfs.ForEachResult(delegate(object Result)
                    {
                        rd          = CCHSerializer.DeserializeDataRow <ResultData>(Result);
                        rd.Distance = String.Format("{0:#0.0 mi}", Convert.ToDouble(rd.NumericDistance));
                        rb.AddResult(rd);
                    });
                }
            }

            JavaScriptSerializer jss = new JavaScriptSerializer();
            String jsonBack          = jss.Serialize(rb);

            context.Response.Write(jsonBack);
        }
예제 #2
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType     = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;

            // The Request QueryString here is protected against XSS attacks by Request Validation
            QuerySettings settings = CCHSerializer.DeserializeSettings <QuerySettings>(context.Request.QueryString);

            if (settings.Lat == 0.0)
            {
                settings.Lat = context.GetLatitude <Double>();
            }                                                                         // Convert.ToDouble(context.GetLatitude<String>()); }
            if (settings.Lng == 0.0)
            {
                settings.Lng = context.GetLongitude <Double>();
            }                                                                          // Convert.ToDouble(ThisSession.PatientLongitude); }

            ResultsBack rb = new ResultsBack();

            using (GetFacilitiesForServicePastCare gffspc = new GetFacilitiesForServicePastCare())
            {
                gffspc.ServiceID     = context.GetServiceID <Int32>();              //ThisSession.ServiceID;
                gffspc.ProcedureCode = context.GetPastCareProcedureCode <String>(); // ThisSession.PastCareProcedureCode;
                gffspc.Latitude      = settings.Lat;
                gffspc.Longitude     = settings.Lng;
                gffspc.SpecialtyID   = context.GetSpecialtyID <Int32>(); //ThisSession.SpecialtyID;
                gffspc.PastCareID    = context.GetPastCareID <Int32>();  //Convert.ToInt32(ThisSession.PastCareID);
                //gffspc.MemberMedicalID = ThisSession.SubscriberMedicalID;
                gffspc.CCHID     = context.GetCCHID <Int32>();           //ThisSession.CCHID;
                gffspc.UserID    = context.GetUserLogginID <String>();   //System.Web.Security.Membership.GetUser(ThisSession.PatientEmail).ProviderUserKey.ToString();
                gffspc.SessionID = context.GetSessionID <String>();
                gffspc.Domain    = context.GetDomain <String>();
                gffspc.GetData();

                if (!gffspc.HasErrors)
                {
                    //ResultData rd;
                    gffspc.ForEachResult <DataRow>(delegate(DataRow dr)
                    {
                        //rd = new ResultData();
                    });
                }
            }
        }
예제 #3
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType     = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;

            // The Request QueryString here is protected against XSS attacks by Request Validation
            QuerySettings settings = CCHSerializer.DeserializeSettings <QuerySettings>(context.Request.QueryString);

            if (settings.Latitude == null)
            {
                settings.Latitude = context.GetLatitude <String>();
            }
            if (settings.Longitude == null)
            {
                settings.Longitude = context.GetLongitude <String>();
            }
            if (String.IsNullOrWhiteSpace(settings.CurrentSort))
            {
                settings.CurrentSort = ThisSession.DefaultSort;
            }
            if (String.IsNullOrWhiteSpace(settings.Distance))
            {
                settings.Distance = "20";
            }
            if (settings.ToRow == 0)
            {
                settings.ToRow = 49;
            }

            ResultsBack rb = new ResultsBack();

            if (context.GetChosenDrugs <DataTable>() == null || context.GetChosenDrugs <DataTable>().CheckForRows())
            {
                using (GetDrugPricingResults gdpr = new GetDrugPricingResults())
                {
                    gdpr.Distance     = settings.Distance.To <Int32>();
                    gdpr.Latitude     = settings.Latitude;
                    gdpr.Longitude    = settings.Longitude;
                    gdpr.FromIndex    = settings.FromRow;
                    gdpr.ToIndex      = settings.ToRow;
                    gdpr.OrderByField = settings.CurrentDirection;
                    //gdpr.MemberRXID = ThisSession.SubscriberRXID;
                    gdpr.CCHID  = context.GetCCHID <Int32>();
                    gdpr.UserID = context.GetUserLogginID <String>(); // System.Web.Security.Membership.GetUser(ThisSession.PatientEmail).ProviderUserKey.ToString();
                    if (context.GetChosenDrugs <DataTable>() == null)
                    {
                        gdpr.DrugID   = context.GetDrugID <String>();       // ThisSession.DrugID;
                        gdpr.GPI      = context.GetDrugGPI <String>();      // ThisSession.DrugGPI;
                        gdpr.Quantity = context.GetDrugQuantity <String>(); // ThisSession.DrugQuantity;
                        if (!String.IsNullOrWhiteSpace(context.GetPastCareID <String>()))
                        {
                            gdpr.PastCareID = context.GetPastCareID <String>();
                        }
                    }
                    else
                    {
                        gdpr.DrugID     = context.GetDrugID <String>(0);       // ThisSession.ChosenDrugs.Rows[0]["DrugID"].ToString();
                        gdpr.GPI        = context.GetDrugGPI <String>(0);      // ThisSession.ChosenDrugs.Rows[0]["GPI"].ToString();
                        gdpr.Quantity   = context.GetDrugQuantity <String>(0); // ThisSession.ChosenDrugs.Rows[0]["Quantity"].ToString();
                        gdpr.PastCareID = context.GetPastCareID <String>(0);   // ThisSession.ChosenDrugs.Rows[0]["PastCareID"].ToString();
                    }
                    gdpr.SessionID = context.GetSessionID <String>();
                    gdpr.Domain    = context.GetDomain <String>();
                    gdpr.GetData();

                    if (gdpr.RawResults.TableName != "EmptyTable")
                    {
                        foreach (DataRow dr in gdpr.RawResults.Rows)
                        {
                            ResultData rd = CCHSerializer.DeserializeDataRow <ResultData>(dr);
                            rd.Price    = String.Format("{0:C2}", Convert.ToDouble(rd.Price));
                            rd.YourCost = String.Format("{0:C2}", Convert.ToDouble(rd.YourCost));
                            rd.Distance = String.Format("{0:#0.0 mi}", Convert.ToDouble(rd.Distance));
                            rb.AddResult(rd);
                        }
                    }
                }
            }
            else
            {
                using (GetDrugMultiPricingResults gdmpr = new GetDrugMultiPricingResults())
                {
                    using (DataView dv = new DataView(ThisSession.ChosenDrugs))
                        gdmpr.DrugList = dv.ToTable("DrugInput", false, new String[] { "DrugID", "GPI", "Quantity", "PastCareID" });
                    gdmpr.Latitude  = settings.Latitude;
                    gdmpr.Longitude = settings.Longitude;
                    gdmpr.GetData();
                    if (gdmpr.RawResults.TableName != "EmptyTable")
                    {
                        foreach (DataRow dr in gdmpr.RawResults.Rows)
                        {
                            ResultData rd = CCHSerializer.DeserializeDataRow <ResultData>(dr);
                            rd.Price    = String.Format("{0:C2}", Convert.ToDouble(rd.Price));
                            rd.YourCost = String.Format("{0:C2}", Convert.ToDouble(rd.YourCost));
                            rd.Distance = String.Format("{0:#0.0 mi}", Convert.ToDouble(rd.Distance));
                            rb.AddResult(rd);
                        }
                    }
                }
            }

            JavaScriptSerializer jss = new JavaScriptSerializer();
            String jsonBack          = jss.Serialize(rb);

            context.Response.Write(jsonBack);
        }