public async Task <ResponseMessage> SaveODF([FromBody] ODF odf) { try { if (odf.Id == null) { odf.CreatedBy = LoginUser.Name; odf.CreatedDate = DateTime.UtcNow; } odf.UpdatedBy = LoginUser.Name; odf.UpdatedDate = DateTime.UtcNow; var savedODF = await _odfService.SaveODF(odf); if (savedODF == null) { return new ResponseMessage { Status = "Error", Message = "Error saving odf." } } ; return(new ResponseMessage { Status = "Ok", Data = savedODF }); } catch (Exception ex) { _logger?.LogError(ex, "Error saving odf."); return(new ResponseMessage { Status = "Error", Message = "Error saving odf." }); } }
public ODF Run(Prescription prescription) { float length = m_config.GetValue <float>("OdfSettings:Length"); float width = m_config.GetValue <float>("OdfSettings:Width"); float height = m_config.GetValue <float>("OdfSettings:Height"); Patient patient = prescription.Patient; string label = CreateLabel(patient.FirstName, patient.LastName); float density = CalculateDensity(prescription.Dosage); Guid id = Guid.NewGuid(); ODF odf = new ODF(); /* { * Length = length, * Width = width, * Height = height, * Label = label, * DrugName = prescription.Drug, * Density = density, * Id = id.ToString() * };*/ return(odf); }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { List <ODF_Char> Characters = new List <ODF_Char>(); List <OCC_Char> Colors = new List <OCC_Char>(); List <OCO_Char> Costumes = new List <OCO_Char>(); List <OCS_Char> Skills = new List <OCS_Char>(); List <OCP_Char> Parameters = new List <OCP_Char>(); List <OCT_Char> Talismans = new List <OCT_Char>(); for (int i = 0; i < partners.Count; i++) { ODF_Char n1 = new ODF_Char(); n1.id = partners[i].id; n1.data = partners[i].character; Characters.Add(n1); OCC_Char n2 = new OCC_Char(); n2.id = partners[i].id; n2.data = partners[i].color; Colors.Add(n2); OCO_Char n3 = new OCO_Char(); n3.id = partners[i].id; n3.data = partners[i].costume; n3.enabled = partners[i].CostumeEnabled; Costumes.Add(n3); OCS_Char n4 = new OCS_Char(); n4.id = partners[i].id; n4.type0 = partners[i].type0; n4.type1 = partners[i].type1; n4.type2 = partners[i].type2; n4.type3 = partners[i].type3; Skills.Add(n4); OCP_Char n5 = new OCP_Char(); n5.id = partners[i].id; n5.data = partners[i].parameters; Parameters.Add(n5); OCT_Char n6 = new OCT_Char(); n6.id = partners[i].id; n6.data = partners[i].talisman; Talismans.Add(n6); } ODF.Write(PartnerFolder + "OriginalCharacterDefaultTable.odf", Characters); OCC.Write(PartnerFolder + "MenuColorPartsCustomList.occ", Colors); OCO.Write(PartnerFolder + "MenuCostumeCustomList.oco", Costumes); OCS.Write(PartnerFolder + "MenuSkillCustomList.ocs", Skills); OCP.Write(PartnerFolder + "MenuParamaterCustomList.ocp", Parameters); OCT.Write(PartnerFolder + "MenuTalismanCustomList.oct", Talismans); }
private void loadToolStripMenuItem_Click(object sender, EventArgs e) { FolderBrowserDialog browseFolder = new FolderBrowserDialog(); browseFolder.Description = "Find chara_custom Folder"; if (browseFolder.ShowDialog() == DialogResult.Cancel) { return; } partners = new List <Partner_Data>(); PartnerFolder = browseFolder.SelectedPath + "\\"; List <ODF_Char> Characters = ODF.Read(PartnerFolder + "OriginalCharacterDefaultTable.odf"); List <OCC_Char> Colors = OCC.Read(PartnerFolder + "MenuColorPartsCustomList.occ"); List <OCO_Char> Costumes = OCO.Read(PartnerFolder + "MenuCostumeCustomList.oco"); List <OCS_Char> Skills = OCS.Read(PartnerFolder + "MenuSkillCustomList.ocs"); List <OCP_Char> Parameters = OCP.Read(PartnerFolder + "MenuParamaterCustomList.ocp"); List <OCT_Char> Talismans = OCT.Read(PartnerFolder + "MenuTalismanCustomList.oct"); for (int i = 0; i < Characters.Count; i++) { Partner_Data p = new Partner_Data(); p.id = Characters[i].id; p.character = Characters[i].data; p.color = Colors[i].data; p.CostumeEnabled = Costumes[i].enabled; p.costume = Costumes[i].data; p.type0 = Skills[i].type0; p.type1 = Skills[i].type1; p.type2 = Skills[i].type2; p.type3 = Skills[i].type3; p.parameters = Parameters[i].data; p.talisman = Talismans[i].data; partners.Add(p); } cbPartners.Items.Clear(); for (int i = 0; i < partners.Count; i++) { cbPartners.Items.Add(partners[i].id); } }
private void Form1_Load(object sender, EventArgs e) { s.Read(); if (Directory.Exists(s.XENOFolder + "data\\system\\chara_custom")) { partners = new List <Partner_Data>(); PartnerFolder = s.XENOFolder + "data\\system\\chara_custom\\"; List <ODF_Char> Characters = ODF.Read(PartnerFolder + "OriginalCharacterDefaultTable.odf"); List <OCC_Char> Colors = OCC.Read(PartnerFolder + "MenuColorPartsCustomList.occ"); List <OCO_Char> Costumes = OCO.Read(PartnerFolder + "MenuCostumeCustomList.oco"); List <OCS_Char> Skills = OCS.Read(PartnerFolder + "MenuSkillCustomList.ocs"); List <OCP_Char> Parameters = OCP.Read(PartnerFolder + "MenuParamaterCustomList.ocp"); List <OCT_Char> Talismans = OCT.Read(PartnerFolder + "MenuTalismanCustomList.oct"); for (int i = 0; i < Characters.Count; i++) { Partner_Data p = new Partner_Data(); p.id = Characters[i].id; p.character = Characters[i].data; p.color = Colors[i].data; p.CostumeEnabled = Costumes[i].enabled; p.costume = Costumes[i].data; p.type0 = Skills[i].type0; p.type1 = Skills[i].type1; p.type2 = Skills[i].type2; p.type3 = Skills[i].type3; p.parameters = Parameters[i].data; p.talisman = Talismans[i].data; partners.Add(p); } cbPartners.Items.Clear(); for (int i = 0; i < partners.Count; i++) { cbPartners.Items.Add(partners[i].id); } } }
public async Task <ODF> SaveODF(ODF odf) { return(await _odfsRepository.UpdateOneAsync(odf)); }
/// <summary> /// Runs the schedule generator /// </summary> /// <param name="startDate"></param> /// <param name="prescriptions"></param> /// <returns></returns> public async Task <WeeklyPrescriptionSchedule> Run(DateTime startDate, IList <Prescription> prescriptions) { WeeklyPrescriptionSchedule weekSchedule = new WeeklyPrescriptionSchedule { StartDate = startDate, }; IList <DailySchedule> days = new List <DailySchedule>(); using (var scope = m_serviceProvider.CreateScope()) { var context = scope.ServiceProvider.GetService <ServiceDbContext>(); for (var dayDate = weekSchedule.StartDate; dayDate < weekSchedule.StartDate + TimeSpan.FromDays(7); dayDate += TimeSpan.FromDays(1) ) { days.Add(new DailySchedule() { Date = dayDate, WeeklyPrescriptionSchedule = weekSchedule, PrintJobs = new List <PrintJob>() }); } /// Inspect the frequency of each prescription foreach (var prescription in prescriptions) { int dailyOccurences, step; switch (prescription.Frequency) { case (Frequency.DAILY): dailyOccurences = 1; step = 1; break; case (Frequency.BID): dailyOccurences = 2; step = 1; break; case (Frequency.OTHER_DAY): dailyOccurences = 1; step = 2; break; case (Frequency.Q3H): dailyOccurences = 4; step = 1; break; case (Frequency.Q4H): dailyOccurences = 3; step = 1; break; case (Frequency.Q5H): dailyOccurences = 2; step = 1; break; case (Frequency.QHS): dailyOccurences = 8; step = 1; break; case (Frequency.QID): dailyOccurences = 4; step = 1; break; case (Frequency.QWK): dailyOccurences = 1; step = 7; break; case (Frequency.TID): dailyOccurences = 3; step = 1; break; default: throw new Exception(); } /// Go through each day of the week for (int dayInd = 0; dayInd < days.Count; dayInd += step) { int printJobNum = 0; /// Go through each time-independent occurence slot for (int odfInd = 0; odfInd < dailyOccurences; odfInd++) { // Move the JobNumber to where there is a Job with less than BatchSize odfs while (days[dayInd].PrintJobs.Count() != printJobNum && days[dayInd].PrintJobs[printJobNum].ODFs.Count == BatchSize) { printJobNum++; } PrintJob printJob = (days[dayInd].PrintJobs.Count() == printJobNum) ? new PrintJob() { BatchNumber = (uint)printJobNum, Status = PrintJobStatus.UNINITIALIZED, ODFs = new List <ODF>(), DailySchedule = days[dayInd] } : days[dayInd].PrintJobs[printJobNum]; context.PrintJobs.Add(printJob); ODF odf = new ODF() { DateTimeOfCreation = DateTime.Now, Prescription = prescription }; printJob.ODFs.Add(odf); printJobNum++; } } } /// Sort each print job into times for each day foreach (DailySchedule dailySchedule in days) { DateTime time = AdministrationStartTime; foreach (PrintJob job in dailySchedule.PrintJobs) { job.ExpectedTimeOfReadiness = time - AdministrationPreparationTime; time += AdministrationTimeStep; } } AssignMockStatuses(weekSchedule); context.WeeklyPrescriptionSchedules.Add(weekSchedule); await context.SaveChangesAsync(); return(weekSchedule); } }