private string BuildStringServicesAndAdmin(string servicesWithoutAdmin, ref Dictionary <string, int> listService) { string result = ""; string[] serviceArray = servicesWithoutAdmin.Split(new string[] { ClinicConstant.StringBetweenServicesInDoanhThu }, StringSplitOptions.None); for (int i = 0; i < serviceArray.Count(); i++) { IMedicine service = currentServices.Where(x => x.Name == serviceArray[i]).FirstOrDefault(); result += (serviceArray[i] + ClinicConstant.StringBetweenServiceAndAdmin + (service == null?"": service.Admin)); if (i != serviceArray.Count() - 1) { result += "\n"; } if ((!String.IsNullOrEmpty(serviceArray[i])) && serviceArray[i][0] == '@') { if (listService.ContainsKey(serviceArray[i])) { listService[serviceArray[i]]++; } else { listService.Add(serviceArray[i], 1); } } } return(result); }
static void Main() { var laboratory = new Laboratory(100); var samples = laboratory.GimmeSamples(1000); IMouse[] mice = laboratory.GimmeMice(10); IMedicine poisonedSample = null; var options = new ParallelOptions() { MaxDegreeOfParallelism = laboratory.NumberOfLaborants }; var sessions = DistibuteSamplesByMice(samples, mice); Parallel.ForEach(sessions.Sessions, options, session => { foreach (var sample in session.Samples) { session.Mouse.GetMedicine(sample); } }); var bits = ToBitArray(0); for (int i = 0; i < mice.Length; i++) { bits[i] = !mice[i].IsAlive; } var index = ToInt(bits); Console.WriteLine($"Sample number {index} is poisoned"); Console.ReadKey(); }
public int AddMedicine(string name, string type, DateTime validity, int supplierID) { ISupplier supplier = supplierRepo.GetSupplier(supplierID); double price = medicinePriceCalc.CalculatePrice(validity, supplier); IMedicine medicine = factor.CreateMedicine(name, type, validity, price); return(medicineRepo.SaveMedicine(medicine)); }
public void GetMedicine(IMedicine drop) { if (_makeMedicineWork == null) { _makeMedicineWork = Task.Run(async() => { await Task.Delay(MedicineTimeToWork); }); } if (drop is Medicine medicine && medicine.IsPoisoned) { _isAlive = false; } }
public int SaveMedicine(IMedicine medicine) { this.medicine.Add(++number, medicine); return(number); }
public string BuyMedicine(int medicineID) { IMedicine medicine = medicineRepo.GetMedicine(medicineID); return(medicine.Price.ToString()); }