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); } }
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); }
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"); }
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 = "" }; }
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); }
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); }
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); }