示例#1
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            [ServiceBus("sbq-medicialsupplyorders-in", Connection = "ServiceBusConnection",
                        EntityType = EntityType.Queue)] IAsyncCollector <MedicineOrder> medicialSuppyOrders,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function request received for medical order.");

            string        requestBody   = await new StreamReader(req.Body).ReadToEndAsync();
            MedicineOrder medicineOrder = JsonConvert.DeserializeObject <MedicineOrder>(requestBody);

            string connectionString = Environment
                                      .GetEnvironmentVariable("ConnectionStrings:SQLAZURECONNSTR_SqlServerConnection", EnvironmentVariableTarget.Process);

            PlaceMedicalSupplyOrder(connectionString, medicineOrder);

            string servicebusConnection = Environment
                                          .GetEnvironmentVariable("ServiceBusConnection", EnvironmentVariableTarget.Process);

            await medicialSuppyOrders.AddAsync(medicineOrder);

            log.LogInformation("C# HTTP trigger function placed the medical order.");

            return(new OkObjectResult(medicineOrder));
        }
        /// <summary>
        /// Place Order by user
        /// </summary>
        /// <param name="medicineId"></param>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public async Task <bool> PlaceOrder(string medicineId, string UserId)
        {
            try
            {
                var res      = false;
                var objectId = new ObjectId(medicineId);
                FilterDefinition <Medicine> filter = Builders <Medicine> .Filter.Eq("MedicineId", objectId);

                _dbMCollection = _mongoContext.GetCollection <Medicine>(typeof(Medicine).Name);
                var medicine = await _dbMCollection.FindAsync(filter).Result.FirstOrDefaultAsync();

                if (medicine != null)
                {
                    var order = new MedicineOrder()
                    {
                        MedicineId = medicine.MedicineId,
                        UserId     = UserId
                    };
                    _dbMOCollection = _mongoContext.GetCollection <MedicineOrder>(typeof(MedicineOrder).Name);
                    await _dbMOCollection.InsertOneAsync(order);
                }
                res = true;
                return(res);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
示例#3
0
        public async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post",
            Route = "UpdatePharmacyOrder/{partitionKey}/{id}")] HttpRequest req,
            [CosmosDB(databaseName: "MedsRUsDataStore", collectionName: "MedOrders", ConnectionStringSetting = "CosmosDBConnection"
            , Id = "{id}", PartitionKey = "{partitionKey}")] MedicineOrder medicineOrder,
            [ServiceBus("sbq-medicialsupplyorders-out", Connection = "ServiceBusConnection",
            EntityType = EntityType.Queue)] IAsyncCollector<MedicineOrder> medicialSuppyOrders,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function request received for updating pharmacy medical order.");

            log.LogInformation($"Medicine Order from Cosmos Db: {medicineOrder}");

            if (medicineOrder == null)
            {
                return new NotFoundResult();
            }

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            MedicineOrderApproval medicineOrderApproval = JsonConvert.DeserializeObject<MedicineOrderApproval>(requestBody);

            medicineOrder.LotNumber = medicineOrderApproval.LotNumber;
            medicineOrder.PharmacyTimeofApproval = DateTime.Now;
            medicineOrder.PharmacyOrderStatus = medicineOrderApproval.PharmacyOrderStatus;
            medicineOrder.PharmacyAdditionalComments = medicineOrderApproval.PharmacyAdditionalComments;

            await medicialSuppyOrders.AddAsync(medicineOrder);

            return new OkObjectResult(medicineOrder);
        }
示例#4
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            [ServiceBus("sbq-medicialsupplyorders-in", Connection = "ServiceBusConnection",
                        EntityType = EntityType.Queue)] IAsyncCollector <MedicineOrder> medicialSuppyOrders,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function request received for medical order.");

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            MedicineOrderApproval medicineOrderApproval = JsonConvert.DeserializeObject <MedicineOrderApproval>(requestBody);

            SettingsData settingsData = new SettingsData();

            MedicineOrder medicineOrder = MedicalSupplyOrderRepository.RetrieveMedicalSupplyOrder(settingsData.SqlServerConnectionString, medicineOrderApproval.Id);

            if (medicineOrder == null)
            {
                return(new NotFoundResult());
            }

            medicineOrder.TimeofApproval     = medicineOrderApproval.TimeofApproval = DateTime.Now;
            medicineOrder.OrderStatus        = medicineOrderApproval.OrderStatus;
            medicineOrder.AdditionalComments = medicineOrderApproval.AdditionalComments;

            MedicalSupplyOrderRepository.ApproveMedicalSupplyOrder(settingsData.SqlServerConnectionString, medicineOrderApproval);

            if (medicineOrderApproval.OrderStatus == "Approved")
            {
                await medicialSuppyOrders.AddAsync(medicineOrder);
            }

            log.LogInformation("C# HTTP trigger function placed the medical order.");

            return(new NoContentResult());
        }
        public static async void Run([ServiceBusTrigger("sbq-medicialsupplyorders-in", Connection = "ServiceBusConnection")] string medicineOrderQueueItem,
                                     [CosmosDB(databaseName: "MedsRUsDataStore", collectionName: "MedOrders", ConnectionStringSetting = "CosmosDBConnection")]
                                     IAsyncCollector <MedicineOrder> medicineOrderAsyncCollector,
                                     ILogger log)
        {
            log.LogInformation($"C# ServiceBus queue trigger function processed message: {medicineOrderQueueItem}");

            MedicineOrder medicineOrder = JsonConvert.DeserializeObject <MedicineOrder>(medicineOrderQueueItem);

            await medicineOrderAsyncCollector.AddAsync(medicineOrder);
        }
        public ActionResult AddMedicineFromTable(JsonArray[] tables)
        {
            foreach (JsonArray json  in tables)
            {
                MedicineOrder medicine = new MedicineOrder();
                medicine.Medicine = json.Medicine;
                medicine.Centre = json.Centre;
                medicine.Quantity = json.Quantity;
            db.MedicineOrders.Add(medicine);
               db.SaveChanges();
            }

               return Json("Success");
        }
示例#7
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "GetSingleOrderForApproval/{partitionKey}/{id}")]
            HttpRequest req,
            [CosmosDB(databaseName: "MedsRUsDataStore", collectionName: "MedOrders", ConnectionStringSetting = "CosmosDBConnection"
                      , Id = "{id}", PartitionKey = "{partitionKey}")] MedicineOrder medicineOrder,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function request received for Single pharmacy medical order.");

            log.LogInformation($"Medicine Order from Cosmos Db: {medicineOrder}");

            if (medicineOrder == null)
            {
                return(new NotFoundResult());
            }

            return(new OkObjectResult(await Task.FromResult(medicineOrder)));
        }
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "GetMedicalSupplyOrderById/{id}")] HttpRequest req,
            Guid id,
            ILogger log)
        {
            log.LogInformation($"Request received for Get medical order By Id {id}.");

            MedicineOrder medicineOrder = await _medicalSupplyOrderRepository
                                          .RetrieveMedicalSupplyOrder(_connectionStrings.SqlServerConnectionString, id)
                                          .ConfigureAwait(false);

            if (medicineOrder == null)
            {
                return(new NotFoundResult());
            }

            log.LogInformation($"Sending medical order For Id {id}");

            return(new OkObjectResult(medicineOrder));
        }
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
            [ServiceBus("sbq-medicialsupplyorders-in", Connection = "ServiceBusConnection",
                        EntityType = EntityType.Queue)] IAsyncCollector <MedicineOrder> medicialSuppyOrders,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function request received for medical order.");

            string        requestBody   = await new StreamReader(req.Body).ReadToEndAsync();
            MedicineOrder medicineOrder = JsonConvert.DeserializeObject <MedicineOrder>(requestBody);

            _ = await _medicalSupplyOrderRepository
                .PlaceMedicalSupplyOrder(_connectionStrings.SqlServerConnectionString, medicineOrder)
                .ConfigureAwait(false);

            if (medicineOrder.OrderStatus == "Approved")
            {
                await medicialSuppyOrders.AddAsync(medicineOrder);
            }

            log.LogInformation("C# HTTP trigger function placed the medical order.");

            return(new OkObjectResult(medicineOrder));
        }
 public ExceptionalTest()
 {
     _medicineServices = new MedicineServices(medicineservice.Object);
     _adminMServices   = new AdminMedicineServices(adminservice.Object);
     _user             = new ApplicationUser()
     {
         UserId                = "5f8054f4914569df2b9e7d8e",
         Name                  = "Uma Kumar",
         Email                 = "*****@*****.**",
         Password              = "******",
         MobileNumber          = 9865253568,
         PinCode               = 820003,
         HouseNo_Building_Name = "9/11",
         Road_area             = "Road_area",
         City                  = "Gaya",
         State                 = "Bihar"
     };
     _category = new Category()
     {
         Id              = "5f0ff60a7b7be11c4c3c19e1",
         CatId           = 1,
         Url             = "~/Home",
         OpenInNewWindow = false
     };
     _medicine = new Medicine()
     {
         MedicineId = "5f802874c043a417142b7cc1",
         Name       = "Medicine-1",
         Brand      = "Brand-One",
         Price      = 123,
         Stock      = 10,
         Discount   = 10,
         Details    = "Medicine Details",
         Size       = "100Mg",
         Features   = "Medicine Feature for Medicine-1",
         CatId      = 1
     };
     _appointment = new Appointment()
     {
         AppointmentId = "5f805687914569df2b9e7d90",
         PatientName   = "Uma",
         DoctorName    = "R Kumar",
         Takendate     = DateTime.Now,
         Symtoms       = "Fever",
         PatientAge    = 30,
         Remark        = "Patient Remark"
     };
     _doctor = new Doctor()
     {
         DoctorId       = "5f802b2ec043a417142b7cc3",
         Name           = "R.R",
         Specialization = "MBBS - ENT",
         Qualification  = "MBBS",
         PracticingFrom = DateTime.Now
     };
     _medicineOrder = new MedicineOrder()
     {
         OrderId    = "5f805550914569df2b9e7d8f",
         MedicineId = "",
         UserId     = ""
     };
 }
示例#11
0
        private static bool PlaceMedicalSupplyOrder(string connectionString, MedicineOrder medicineOrder)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand()
                {
                    CommandText = "[dbo].[usp_create_med_order]",
                    Connection  = connection,
                    CommandType = CommandType.StoredProcedure
                };

                command.Parameters.AddWithValue("@PatientName",
                                                medicineOrder.PatientName).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@PatientDOB",
                                                medicineOrder.PatientDOB).SqlDbType = SqlDbType.DateTime2;

                command.Parameters.AddWithValue("@PatientRoom",
                                                medicineOrder.PatientRoom).SqlDbType = SqlDbType.Int;

                command.Parameters.AddWithValue("@AttendingPhysicianName",
                                                medicineOrder.AttendingPhysicianName).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@EmployeeInitiatingOrder",
                                                medicineOrder.EmployeeInitiatingOrder).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@IsPhysicianAssistant",
                                                medicineOrder.IsPhysicianAssistant).SqlDbType = SqlDbType.Bit;

                medicineOrder.IsNurse = !medicineOrder.IsPhysicianAssistant;
                command.Parameters.AddWithValue("@IsNurse",
                                                medicineOrder.IsNurse).SqlDbType = SqlDbType.Bit;

                command.Parameters.AddWithValue("@MedicationName",
                                                medicineOrder.MedicationName).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@MedicationDosage",
                                                medicineOrder.MedicationDosage).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@MedicationFrequency",
                                                medicineOrder.MedicationFrequency).SqlDbType = SqlDbType.Int;

                command.Parameters.AddWithValue("@UrgencyRanking",
                                                medicineOrder.UrgencyRanking).SqlDbType = SqlDbType.Int;

                command.Parameters.AddWithValue("@CreatedDateTime",
                                                medicineOrder.CreatedDateTime).SqlDbType = SqlDbType.DateTime2;

                if (medicineOrder.IsPhysicianAssistant)
                {
                    medicineOrder.OrderStatus = "Approved";

                    medicineOrder.AdditionalComments = "Assistance Overriding the approval";
                }

                command.Parameters.AddWithValue("@OrderStatus",
                                                medicineOrder.OrderStatus).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@AdditionalComments",
                                                medicineOrder.AdditionalComments).SqlDbType = SqlDbType.VarChar;

                // Output Parameter
                SqlParameter recordId = new SqlParameter
                {
                    ParameterName = "@Id",
                    SqlDbType     = SqlDbType.UniqueIdentifier,
                    Direction     = ParameterDirection.Output
                };

                //add the parameter to the SqlCommand object
                command.Parameters.Add(recordId);

                connection.Open();
                command.ExecuteNonQuery();

                medicineOrder.Id = Guid.Parse(recordId.Value.ToString());
                Console.WriteLine("Newely Generated Student ID : " + recordId.Value.ToString());
            }

            return(true);
        }
示例#12
0
        public async Task <bool> PlaceMedicalSupplyOrder(string connectionString, MedicineOrder medicineOrder)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand()
                {
                    CommandText = "[dbo].[usp_create_med_order]",
                    Connection  = connection,
                    CommandType = CommandType.StoredProcedure
                };

                command.Parameters.AddWithValue("@PatientName",
                                                medicineOrder.PatientName).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@PatientDOB",
                                                medicineOrder.PatientDOB).SqlDbType = SqlDbType.DateTime2;

                command.Parameters.AddWithValue("@PatientRoom",
                                                medicineOrder.PatientRoom).SqlDbType = SqlDbType.Int;

                command.Parameters.AddWithValue("@AttendingPhysicianName",
                                                medicineOrder.AttendingPhysicianName).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@EmployeeInitiatingOrder",
                                                medicineOrder.EmployeeInitiatingOrder).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@IsPhysicianAssistant",
                                                medicineOrder.IsPhysicianAssistant).SqlDbType = SqlDbType.Bit;

                medicineOrder.IsNurse = !medicineOrder.IsPhysicianAssistant;
                command.Parameters.AddWithValue("@IsNurse",
                                                medicineOrder.IsNurse).SqlDbType = SqlDbType.Bit;

                command.Parameters.AddWithValue("@MedicationName",
                                                medicineOrder.MedicationName).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@MedicationDosage",
                                                medicineOrder.MedicationDosage).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@MedicationFrequency",
                                                medicineOrder.MedicationFrequency).SqlDbType = SqlDbType.Int;

                command.Parameters.AddWithValue("@UrgencyRanking",
                                                medicineOrder.UrgencyRanking).SqlDbType = SqlDbType.Int;

                command.Parameters.AddWithValue("@CreatedDateTime",
                                                medicineOrder.CreatedDateTime).SqlDbType = SqlDbType.DateTime2;

                if (medicineOrder.IsPhysicianAssistant)
                {
                    if (new Random().Next(1, 999) >= 500)
                    {
                        medicineOrder.OrderStatus = "Approved";

                        medicineOrder.AdditionalComments = "Assistance Overriding the approval";

                        medicineOrder.TimeofApproval = DateTime.Now;
                        command.Parameters.AddWithValue("@TimeofApproval",
                                                        medicineOrder.TimeofApproval).SqlDbType = SqlDbType.DateTime2;
                    }
                }

                command.Parameters.AddWithValue("@OrderStatus",
                                                medicineOrder.OrderStatus).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@AdditionalComments",
                                                medicineOrder.AdditionalComments).SqlDbType = SqlDbType.VarChar;

                command.Parameters.AddWithValue("@PictureUrl",
                                                medicineOrder.PictureUrl).SqlDbType = SqlDbType.VarChar;

                // Output
                SqlParameter recordId = new SqlParameter
                {
                    ParameterName = "@Id",
                    SqlDbType     = SqlDbType.UniqueIdentifier,
                    Direction     = ParameterDirection.Output
                };
                command.Parameters.Add(recordId);

                connection.Open();
                await command.ExecuteNonQueryAsync()
                .ConfigureAwait(false);

                medicineOrder.Id = Guid.Parse(recordId.Value.ToString());
            }

            return(true);
        }
示例#13
0
        public async Task <MedicineOrder> RetrieveMedicalSupplyOrder(string connectionString, Guid id)
        {
            MedicineOrder medicineOrder = null;

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand()
                {
                    CommandText = "[dbo].[usp_get_med_order_by_id]",
                    Connection  = connection,
                    CommandType = CommandType.StoredProcedure
                };

                command.Parameters.AddWithValue("@Id",
                                                id).SqlDbType = SqlDbType.UniqueIdentifier;

                connection.Open();
                SqlDataReader dataReader = await command.ExecuteReaderAsync()
                                           .ConfigureAwait(false);

                if (dataReader.HasRows)
                {
                    await dataReader.ReadAsync().ConfigureAwait(false);

                    medicineOrder = new MedicineOrder
                    {
                        Id = dataReader.GetGuid(0),

                        PatientName = dataReader.GetString(1),

                        PatientDOB = dataReader.GetDateTime(2),

                        PatientRoom = (int)dataReader.GetDecimal(3),

                        AttendingPhysicianName = dataReader.GetString(4),

                        EmployeeInitiatingOrder = dataReader.GetString(5),

                        IsPhysicianAssistant = dataReader.GetBoolean(6),

                        IsNurse = dataReader.GetBoolean(7),

                        MedicationName = dataReader.GetString(8),

                        MedicationDosage = dataReader.GetString(9),

                        MedicationFrequency = (int)dataReader.GetDecimal(10),

                        UrgencyRanking = (int)dataReader.GetDecimal(11),

                        CreatedDateTime = dataReader.GetDateTime(12),

                        TimeofApproval = dataReader.IsDBNull(dataReader.GetOrdinal("TimeofApproval")) ? DateTime.Now : dataReader.GetDateTime(13),

                        OrderStatus = dataReader.GetString(14),

                        AdditionalComments = dataReader.GetString(15),

                        PictureUrl = dataReader.GetString(16)
                    };
                }
            }

            return(medicineOrder);
        }