示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sort_parameter"></param>
        /// <param name="connectionString"></param>
        /// <param name="sessionTicket"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        /// Get items from elastic to receipt page list
        public List <Receipt_Model> GetReceiptItems(ElasticParameterObject sort_parameter, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            transaction = new TransactionalInformation();
            List <Guid> response       = new List <Guid>();
            var         securityTicket = VerifySessionToken(sessionTicket);
            var         data           = cls_Get_Account_Information_with_PracticeID.Invoke(connectionString, securityTicket).Result;

            List <Receipt_Model> receipts = new List <Receipt_Model>();

            try
            {
                string doctor_id = cls_Get_DoctorID_for_AccountID.Invoke(connectionString, securityTicket).Result.DoctorID.ToString();
                receipts = Retrieve_Receipts.Get_Receipt_Items(sort_parameter, doctor_id, securityTicket);

                if (receipts.Any())
                {
                    Add_Item_to_Receipts.Import_Receipt_Item_to_ElasticDB(receipts.Select(item => { item.isViewed = true; return(item); }).ToList(), securityTicket.TenantID.ToString());
                }
            }
            catch (Exception ex)
            {
                Logger.LogDocAppInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, securityTicket, ex), data.PracticeName);

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }
            return(receipts);
        }
示例#2
0
        public List <Archive_Model> GetAllItemsForArchive(ElasticParameterObject sort_parameter, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            transaction = new TransactionalInformation();
            List <Archive_Model> archItems = new List <Archive_Model>();
            var userSecurityTicket         = VerifySessionToken(sessionTicket);

            try
            {
                archItems = Get_Archive_Items.Get_Archived_items(sort_parameter, userSecurityTicket);
            }
            catch (Exception ex)
            {
                Logger.LogInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, userSecurityTicket, ex));

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }

            return(archItems);
        }
示例#3
0
        public List <Order_Model_Extended> GetOrderListData(ElasticParameterObject sort_parameter, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            transaction = new TransactionalInformation();
            var OrderListData      = new List <Order_Model_Extended>();
            var userSecurityTicket = VerifySessionToken(sessionTicket);

            try
            {
                var results = Get_Orders.Get_All_Orders(sort_parameter, userSecurityTicket);
                OrderListData = results.Select(order =>
                {
                    var extended = new Order_Model_Extended();
                    extended.PopulateBase(order);
                    extended.delivery_date_string = extended.delivery_time_from.ToString("dd.MM.yyyy");
                    return(extended);
                }).ToList();
            }
            catch (Exception ex)
            {
                Logger.LogInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, userSecurityTicket, ex));

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }

            return(OrderListData);
        }
示例#4
0
        public HttpResponseMessage Get_PatientDetails([FromUri] Guid ID, string sort_by, bool isAsc, int start_row_index)
        {
            var transaction       = new TransactionalInformation();
            var patientApiModel   = new PatientDetailsApiModel();
            var patientDetailList = new List <PatientDetailViewModelExtended>();

            var data = patientDataService.Get_PatientDetails(ID, connectionString, SessionToken, out transaction);

            patientApiModel.patient       = data.patient;
            patientApiModel.contract_list = data.ContractList;

            if (!transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, transaction));
            }

            var parameters = new ElasticParameterObject
            {
                isAsc           = isAsc,
                sort_by         = sort_by,
                start_row_index = start_row_index
            };

            patientDetailList = patientDataService.Get_PatientCasesAndParticipationConsents(parameters, ID, SessionToken, connectionString, out transaction);
            patientApiModel.patient_details_list = patientDetailList;
            if (!transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, transaction));
            }


            return(Request.CreateResponse <PatientDetailsApiModel>(HttpStatusCode.OK, patientApiModel));
        }
示例#5
0
        public List <Submitted_Case_Model> GetSubmittedCasesList(ElasticParameterObject sort_parameter, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            transaction = new TransactionalInformation();
            List <Submitted_Case_Model> SubmittedCasesList = new List <Submitted_Case_Model>();
            var securityTicket = VerifySessionToken(sessionTicket);

            try
            {
                SubmittedCasesList = Get_Submitted_Cases.GetAllCases(sort_parameter, securityTicket);
            }
            catch (Exception ex)
            {
                Logger.LogInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, securityTicket, ex));

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }

            return(SubmittedCasesList);
        }
示例#6
0
        public static long GetSubmittedCasesCount(ElasticParameterObject parameter, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();
            var result     = serializer.ToCountResult(connection.Post(Commands.Count(securityTicket.TenantID.ToString(), "submitted_case"), QueryBuilderCase.BuildGetSubmittedCasesCountQuery(parameter.search_params, parameter.filter_by, parameter.date_from, parameter.date_to, null, "")).Result);

            return(result.count);
        }
示例#7
0
        public HttpResponseMessage GetDoctorPracticesList(ElasticParameterObject sort_parameter)
        {
            TransactionalInformation      transaction = new TransactionalInformation();
            List <Practice_Doctors_Model> data        = docDataService.GetDoctorPracticesList(sort_parameter, connectionString, SessionToken, out transaction);

            var response = Request.CreateResponse(HttpStatusCode.OK, data);

            return(response);
        }
示例#8
0
        public static long GetCasesCount(ElasticParameterObject parameter, string practice_id, string authorizing_doctor_id, string treatment_doctor_id, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();
            var query      = QueryBuilderCase.BuildGetCaseQueryFilter(0, 0, null, false, practice_id, null, null, parameter.search_params, parameter.filter_by, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null, true);

            var command = Commands.Count(securityTicket.TenantID.ToString(), elasticType);
            var result  = serializer.ToCountResult(connection.Post(command, query).Result);

            return(result.count);
        }
示例#9
0
        public static Submitted_Case_Model[] GetSubmittedCasesFilteredIDs(ElasticParameterObject parameter, string status, SessionSecurityTicket securityTicket)
        {
            var size       = GetSubmittedCasesCount(parameter, securityTicket);
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();

            string searchCommand    = Commands.Search(securityTicket.TenantID.ToString(), "submitted_case").Pretty();
            var    operation_result = connection.Post(searchCommand, QueryBuilderCase.BuildGetSubmittedCasesCountQuery(parameter.search_params, parameter.filter_by, parameter.date_from, parameter.date_to, (int)size, status));

            return(serializer.ToSearchResult <Submitted_Case_Model>(operation_result).Documents.ToArray());
        }
示例#10
0
        /// <summary>
        /// Get all users/Employees for user list
        /// </summary>
        /// <param name="sort_parameter"></param>
        /// <param name="connectionString"></param>
        /// <param name="sessionTicket"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public Employee_Model[] GetEmployees(ElasticParameterObject sort_parameter, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            transaction = new TransactionalInformation();
            var userSecurityTicket = VerifySessionToken(sessionTicket);

            try
            {
                var employees = cls_Get_Employees.Invoke(connectionString, userSecurityTicket).Result;
                if (employees.Length != 0)
                {
                    var response = employees.Select(emp =>
                    {
                        var email_contact = emp.Contact == null ? null : emp.Contact.Where(c => c.Type == "Email").SingleOrDefault();
                        var phone_contact = emp.Contact == null ? null : emp.Contact.Where(c => c.Type == "Phone").SingleOrDefault();

                        Employee_Model employee = new Employee_Model()
                        {
                            id         = emp.employee_id,
                            name       = emp.employee_name,
                            email      = email_contact == null ? "" : email_contact.Content,
                            phone      = phone_contact == null ? "" : phone_contact.Content,
                            is_admin   = emp.employee_rights == "mm.docconect.mm.app.master",
                            group_name = String.IsNullOrEmpty(emp.employee_name) ? "" : emp.employee_name.Substring(0, 1).ToUpper()
                        };

                        return(employee);
                    }).ToArray();

                    if (!sort_parameter.isAsc)
                    {
                        response = response.Reverse().ToArray();
                    }

                    return(response);
                }
            }
            catch (Exception ex)
            {
                Logger.LogInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, userSecurityTicket, ex));

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }

            return(new Employee_Model[] { });
        }
示例#11
0
        public HttpResponseMessage GetSubmittedCases(ElasticParameterObject sort_parameter)
        {
            TransactionalInformation transaction = new TransactionalInformation();
            var casesList = treatmentDataService.GetSubmittedCasesList(sort_parameter, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, casesList));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction));
        }
示例#12
0
        public HttpResponseMessage GetEmployees(ElasticParameterObject sort_parameter)
        {
            TransactionalInformation transaction = new TransactionalInformation();
            var employees = settingsDataService.GetEmployees(sort_parameter, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, employees));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction));
        }
示例#13
0
        public HttpResponseMessage GetOrderDetails(ElasticParameterObject sort_parameter)
        {
            var transaction = new TransactionalInformation();
            var result      = ordersDataService.GetOrderCount(sort_parameter.search_params, sort_parameter.hip_name, sort_parameter.orders_from_date, sort_parameter.orders_to_date, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#14
0
        public static void ExecuteRetrive(DbConnection Connection, DbTransaction Transaction, SessionSecurityTicket securityTicket)
        {
            ElasticParameterObject param = new ElasticParameterObject();

            param.isAsc           = true;
            param.search_params   = "";
            param.sort_by         = "name";
            param.start_row_index = 0;


            Get_PatientsList(param, "7547b215-cb90-4fc0-a546-2041471ec71d", securityTicket);
        }
示例#15
0
        public HttpResponseMessage GetOctCount(ElasticParameterObject sort_parameter)
        {
            var transaction = new TransactionalInformation();
            var count       = octService.GetOctCount(sort_parameter, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, count));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#16
0
        public HttpResponseMessage GetAllOrders(ElasticParameterObject sort_parameter)
        {
            var transaction = new TransactionalInformation();
            var orders      = ordersDataService.GetAllPracticeOrders(sort_parameter, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, orders));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#17
0
        public static long GetAftercaresCount(ElasticParameterObject parameter, bool is_practice, string practice_id, string authorizing_doctor_id, List <AftercareHipParameter> rangeParameters, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();
            var command    = Commands.Count(securityTicket.TenantID.ToString(), "aftercare");
            var query      = QueryBuilderCase.BuildGetAftercaresCountQuery(parameter.search_params, practice_id, parameter.filter_by, parameter.date_from, parameter.date_to, null, false,
                                                                           is_practice ? null : securityTicket.AccountID.ToString(), is_practice, null, authorizing_doctor_id, "", false, rangeParameters, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null);

            var result = serializer.ToCountResult(connection.Post(command, query).Result);

            return(result.count);
        }
示例#18
0
        public static Aftercare_Model[] GetAftercaresFilteredIDs(ElasticParameterObject parameter, string practice_id, string[] deselected_ids, bool is_submit, bool is_practice, string authorizing_doctor_id, string sort_by, bool isAsc, List <AftercareHipParameter> rangeParameters, SessionSecurityTicket securityTicket)
        {
            var connection    = Elastic_Utils.ElsaticConnection();
            var serializer    = new JsonNetSerializer();
            var searchCommand = Commands.Search(securityTicket.TenantID.ToString(), "aftercare").Pretty();
            var query         = QueryBuilderCase.BuildGetAftercaresCountQuery(parameter.search_params, practice_id, parameter.filter_by, parameter.date_from,
                                                                              parameter.date_to, int.MaxValue, is_submit, securityTicket.AccountID.ToString(), is_practice, deselected_ids, authorizing_doctor_id, sort_by, isAsc, rangeParameters, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null);

            var operation_result = connection.Post(searchCommand, query);

            return(serializer.ToSearchResult <Aftercare_Model>(operation_result).Documents.ToArray());
        }
示例#19
0
        public HttpResponseMessage GetAftercaresCount(ElasticParameterObject parameter)
        {
            TransactionalInformation transaction = new TransactionalInformation();
            var result = aftercareDataService.GetAftercaresCount(parameter, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, result));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#20
0
        public static Case_Model[] GetCasesFilteredIDs(ElasticParameterObject parameter, string practice_id, string[] deselected_ids, bool is_submit, string authorizing_doctor_id, string treatment_doctor_id, string sort_by, bool isAsc, SessionSecurityTicket securityTicket)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();

            var searchCommand = Commands.Search(securityTicket.TenantID.ToString(), elasticType).Pretty();
            var query         = QueryBuilderCase.BuildGetCaseQueryFilter(0, int.MaxValue, null, false, practice_id, null, null, parameter.search_params, parameter.filter_by, !String.IsNullOrEmpty(parameter.hip_name) ? parameter.hip_name.ToLower() : null, true, authorizing_doctor_id);

            var operation_result = connection.Post(searchCommand, query);

            var allcases = serializer.ToSearchResult <Case_Model>(operation_result).Documents.ToArray();

            return(allcases.Where(x => !deselected_ids.Any(id => id == x.id)).ToArray());
        }
示例#21
0
        public HttpResponseMessage GetReceiptItems(ElasticParameterObject sort_parameter)
        {
            TransactionalInformation transaction  = new TransactionalInformation();
            List <Receipt_Model>     ReceiptItems = receiptDataService.GetReceiptItems(sort_parameter, connectionString, SessionToken, out transaction);
            ReceiptApiModel          receiptModel = new ReceiptApiModel();

            receiptModel.receipts = ReceiptItems;
            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, receiptModel));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#22
0
        public HttpResponseMessage GetArchivedItems(ElasticParameterObject sort_parameter)
        {
            TransactionalInformation transaction  = new TransactionalInformation();
            List <Archive_Model>     ArchiveItems = archiveDataService.GetAllItemsForArchive(sort_parameter, connectionString, SessionToken, out transaction);
            ArchiveModelsApi         archModel    = new ArchiveModelsApi();

            archModel.ArchItem = ArchiveItems;
            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, archModel));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction));
        }
示例#23
0
        public HttpResponseMessage getSettlementitemsForMultiSelect(ElasticParameterObject sort_parameter)
        {
            var transaction    = new TransactionalInformation();
            var settlementAPi  = new SettlementApiModel();
            var dataSettlement = settlementDataService.getSettlementData(sort_parameter, connectionString, SessionToken, out transaction);

            settlementAPi.settlement = dataSettlement;

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, settlementAPi));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#24
0
        public static List <Oct_Model> GetAllOcts(Guid practice_id, ElasticParameterObject sort_parameter, SessionSecurityTicket securityTicket, List <OctHipParameter> rangeParameters)
        {
            var TenantID   = securityTicket.TenantID.ToString();
            var serializer = new JsonNetSerializer();
            var connection = Elastic_Utils.ElsaticConnection();

            List <Oct_Model> case_list = new List <Oct_Model>();

            if (Elastic_Utils.IfIndexOrTypeExists(TenantID, connection) && Elastic_Utils.IfIndexOrTypeExists(TenantID + "/" + elasticType, connection))
            {
                var sort_by_second_key = "";
                var sort_by_third_key  = "";

                switch (sort_parameter.sort_by)
                {
                case "treatment_date":
                    sort_by_second_key = "patient_name";
                    sort_by_third_key  = "patient_birthdate";
                    break;

                case "patient_name":
                    sort_by_second_key = "patient_birthdate";
                    sort_by_third_key  = "treatment_date";
                    break;

                default:
                    sort_by_second_key = "treatment_date";
                    sort_by_third_key  = "patient_name";
                    break;
                }

                var hip_name = !String.IsNullOrEmpty(sort_parameter.hip_name) ? sort_parameter.hip_name.ToLower() : null;

                sort_parameter.search_params = string.IsNullOrEmpty(sort_parameter.search_params) ? "" : sort_parameter.search_params.ToLower();

                var query = QueryBuilderOct.BuildGetOctsQuery(sort_parameter.start_row_index, 100, sort_parameter.sort_by, hip_name,
                                                              sort_parameter.search_params, sort_parameter.isAsc, practice_id.ToString(), sort_by_second_key, sort_by_third_key, sort_parameter.filter_by, rangeParameters,
                                                              deselected_ids: sort_parameter.deselected_ids != null ? sort_parameter.deselected_ids.Select(t => t.ToString()) : null);

                string searchCommand_Cases = Commands.Search(TenantID, elasticType).Pretty();
                string result             = connection.Post(searchCommand_Cases, query);
                var    foundResults_Cases = serializer.ToSearchResult <Oct_Model>(result);

                case_list = foundResults_Cases.Documents.ToList();
            }

            return(case_list);
        }
示例#25
0
        public static string BuildGetPatientsSearchAsYouTypeQuery(ElasticParameterObject parameter, string sort_by, string practice_id, string sort_by_second_key, string sort_by_third_key, string hip_name = null, IEnumerable<string> patient_ids_with_invalid_consent = null)
        {
            var ordinals = new List<string>() { 
                "name",
                "insurance_id",
                "health_insurance_provider",
                "birthday_string",
                "external_id"
            };

            var query = new QueryBuilder<Patient_Model>()
               .Query(q =>
               {
                   q.Filtered(f =>
                   {
                       if (parameter.this_practice)
                       {
                           f.Filter(r => r.Missing(m => m.Field("originating_practice_id")));
                       }
                       else if (parameter.different_practice)
                       {
                           f.Filter(r => r.Exists(m => m.Field("originating_practice_id").ShouldExists(true)));
                       }

                       f.Query(q1 => q1.Bool(b => b
                          .Must(m => m.Term(tr => tr.Field("has_rejected_oct").Value(parameter.show_only_with_rejected_octs ? "true" : null))
                                      .Term(tr => tr.Field("practice_id").Value(practice_id))
                                      .Terms(tr => tr.Field("id").Values(patient_ids_with_invalid_consent))
                                      .Term(tr => tr.Field("health_insurance_provider.lower_case_sort").Value(hip_name)))
                          .Should(sh =>
                          {
                              ordinals.ForEach(ord => sh.Match(m => m.Field(ord).Query(parameter.search_params).Operator(PlainElastic.Net.Operator.AND)));
                              return sh;
                          }).MinimumNumberShouldMatch(1)));

                       return f;
                   });

                   return q;
               }).Sort(s => s
                                .Field(sort_by + ".lower_case_sort", parameter.isAsc ? PlainElastic.Net.SortDirection.asc : PlainElastic.Net.SortDirection.desc)
                                .Field(sort_by_second_key == "birthday" ? sort_by_second_key : sort_by_second_key + ".lower_case_sort", parameter.isAsc ? PlainElastic.Net.SortDirection.asc : PlainElastic.Net.SortDirection.desc)
                                .Field(sort_by_third_key == "birthday" ? sort_by_third_key : sort_by_third_key + ".lower_case_sort", parameter.isAsc ? PlainElastic.Net.SortDirection.asc : PlainElastic.Net.SortDirection.desc)
                           ).From(parameter.start_row_index)
                   .Size(parameter.page_size);

            return query.BuildBeautified();
        }
示例#26
0
        public HttpResponseMessage getOrderData(ElasticParameterObject sort_parameter)
        {
            TransactionalInformation    transaction   = new TransactionalInformation();
            OrderApiModel               orderApiModel = new OrderApiModel();
            List <Order_Model_Extended> orderList     = orderDataService.GetOrderListData(sort_parameter, connectionString, SessionToken, out transaction);

            orderApiModel.OrderData = orderList;

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse <OrderApiModel>(HttpStatusCode.OK, orderApiModel));
            }
            var badResponse = Request.CreateResponse <OrderApiModel>(HttpStatusCode.BadRequest, orderApiModel);

            return(badResponse);
        }
示例#27
0
        public HttpResponseMessage GetPatients([FromUri] ElasticParameterObject parameters)
        {
            var transaction = new TransactionalInformation();

            if (transaction.ReturnStatus)
            {
                var             data            = patientDataService.GetPatients(parameters, connectionString, SessionToken, out transaction);
                PatientApiModel patientApiModel = new PatientApiModel();
                patientApiModel.patient = data;

                if (transaction.ReturnStatus)
                {
                    return(Request.CreateResponse <PatientApiModel>(HttpStatusCode.OK, patientApiModel));
                }
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.InternalServerError, transaction));
        }
示例#28
0
        public long GetAftercaresCount(ElasticParameterObject parameter, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            transaction = new TransactionalInformation();
            long response       = 0;
            var  securityTicket = VerifySessionToken(sessionTicket);
            var  data           = cls_Get_Account_Information_with_PracticeID.Invoke(connectionString, securityTicket).Result;

            try
            {
                var           dbConnection  = DBSQLSupport.CreateConnection(connectionString);
                DbTransaction dbTransaction = null;

                try
                {
                    dbConnection.Open();
                    dbTransaction = dbConnection.BeginTransaction();

                    var rangeParameters = GetRangeParameters(dbConnection, dbTransaction, securityTicket);

                    response = Get_Aftercares.GetAftercaresCount(parameter, data.AccountInformation.role.Contains("practice"), data.PracticeID.ToString(), "", rangeParameters, securityTicket);
                    dbTransaction.Commit();
                }
                finally
                {
                    dbConnection.Close();
                }
            }
            catch (Exception ex)
            {
                Logger.LogDocAppInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, securityTicket, ex), data.PracticeName);

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }

            return(response);
        }
示例#29
0
        public static long GetOctCount(ElasticParameterObject parameter, Guid practice_id, string index, List <OctHipParameter> rangeParameters)
        {
            var connection = Elastic_Utils.ElsaticConnection();
            var serializer = new JsonNetSerializer();

            var command = Commands.Search(index, elasticType).SearchType(SearchType.count);

            parameter.omit_withdrawn = true;
            if (parameter.filter_by.filter_status.Length == 1 && parameter.filter_by.filter_status.First() == "oct4")
            {
                return(0);
            }

            var query = QueryBuilderOct.BuildGetOctsQuery(0, Int32.MaxValue, null, parameter.hip_name, parameter.search_params, false, practice_id.ToString(),
                                                          null, null, parameter.filter_by, rangeParameters, omit_withdrawn: parameter.omit_withdrawn);

            var result = connection.Post(command, query);
            var count  = serializer.ToSearchResult <Oct_Model>(result).hits.total;

            return(count);
        }
示例#30
0
        public static List <Receipt_Model> Get_Receipt_Items(ElasticParameterObject sort_parameter, string doctor_id, SessionSecurityTicket securityTicket)
        {
            var TenantID   = securityTicket.TenantID.ToString();
            var serializer = new JsonNetSerializer();
            var connection = Elastic_Utils.ElsaticConnection();

            List <Receipt_Model> receipts = new List <Receipt_Model>();
            string searchCommand_Receipts = Commands.Search(TenantID, elasticType).Pretty();
            var    queryS = QueryBuilderReceipts.BuildGetReceiptsQuery(sort_parameter.start_row_index, 100, sort_parameter.sort_by, sort_parameter.isAsc, doctor_id);
            string result = connection.Post(searchCommand_Receipts, queryS);
            var    foundResults_Receipts = serializer.ToSearchResult <Receipt_Model>(result);

            return(foundResults_Receipts.Documents.Select(item =>
            {
                switch (sort_parameter.sort_by)
                {
                case "filedate": item.group_name = item.filedate.ToString("MMMM yyyy", new System.Globalization.CultureInfo("de", true)).ToUpper(); break;
                }

                item.filedateString = item.filedate.ToString("dd.MM.yyyy");
                return item;
            }).ToList());
        }