示例#1
0
        /// <summary>
        /// Get medications for list
        /// </summary>
        /// <param name="connectionString"></param>
        /// <param name="sessionTicket"></param>
        /// <param name="transaction"></param>
        /// <returns></returns>
        public List <MedicationModel> GetMedications(MedicationSort objSort, 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);
            List <MedicationModel> medications       = new List <MedicationModel>();
            List <MedicationModel> medicationsSorted = new List <MedicationModel>();

            try
            {
                MC_GM_1208[] medicationList = cls_Get_Medications.Invoke(connectionString, userSecurityTicket).Result;
                foreach (var medicationItem in medicationList)
                {
                    MedicationModel medication = new MedicationModel();
                    medication.MedicationID    = medicationItem.MedicationID;
                    medication.Medication      = medicationItem.Medication;
                    medication.ProprietaryDrug = medicationItem.ProprietaryDrug;
                    medication.HecDrugID       = medicationItem.HecDrugID;
                    medication.PZNScheme       = medicationItem.PZNScheme;
                    medications.Add(medication);
                }
                switch (objSort.frKey)
                {
                case "Medication":
                    medicationsSorted = medications.OrderBy(pr => pr.Medication).ToList();
                    break;

                case "ProprietaryDrug":
                    medicationsSorted = medications.OrderBy(pr => pr.ProprietaryDrug).ToList();
                    break;

                case "PZNScheme":
                    medicationsSorted = medications.OrderBy(pr => pr.PZNScheme).ToList();
                    break;
                }
                if (!objSort.isAsc)
                {
                    medicationsSorted.Reverse();
                }
            }
            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(medicationsSorted);
        }
示例#2
0
        public HttpResponseMessage GetMedications(MedicationSort objSort)
        {
            TransactionalInformation transaction   = new TransactionalInformation();
            MedicationApiModel       medicationApi = new MedicationApiModel();
            List <MedicationModel>   medications   = medicationDataService.GetMedications(objSort, connectionString, SessionToken, out transaction);

            medicationApi.medications = medications;
            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, medicationApi));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction));
        }