Exemple #1
0
 public static TreatmentModel MapTreatmentModelFrom(ITreatment treatment)
 {
     Mapper.CreateMap<ITreatment, TreatmentModel>().ForMember(hosp => hosp.Hospital, source => source.Ignore());
     var treatmentModel = Mapper.Map<ITreatment, TreatmentModel>(treatment);
     treatmentModel.Hospital = HospitalMapper.MapHospitalModelFrom(treatment.Hospital);
     return treatmentModel;
 }
Exemple #2
0
        private async void WalkNodes(TreeNodeCollection nodes)
        {
            foreach (TreeNode treeNode in nodes)
            {
                if (treeNode.Checked && treeNode.Tag != null)
                {
                    string tag = treeNode.Tag.ToString();

                    // Create treatment instance based on checkbox tag
                    string     typeStr       = "Chemo.Treatment." + tag;
                    Type       componentType = Type.GetType(typeStr);
                    ITreatment tr            = (ITreatment)Activator.CreateInstance(componentType);

                    // Perform treatment work in the background to not lock up the UI
                    // Only run one task at a time because funny things happen when they run in parallel
                    logger.Log("=== Applying: {0} ===", treeNode.Text);
                    await Task.Run(() =>
                                   tr.PerformTreatment()
                                   );

                    logger.Log("");
                }

                WalkNodes(treeNode.Nodes);
            }
        }
        public Restoration()
        {
            ITreatmentPlanBuilder grassTreatmentBuilder = new GrassTreatmentBuilder();
            ITreatmentPlanBuilder fireTreatmentBuilder  = new FireTreatmentBuilder();
            ITreatmentPlanBuilder waterTreatmentBuilder = new WaterTreatmentBuilder();

            RestorerDirector rd = new RestorerDirector(grassTreatmentBuilder);

            rd.makeRestorer();
            grassTreatment = rd.getTreatmentPlan();

            rd.setRestorerFormat(fireTreatmentBuilder);
            rd.makeRestorer();
            fireTreatment = rd.getTreatmentPlan();

            rd.setRestorerFormat(waterTreatmentBuilder);
            rd.makeRestorer();
            waterTreatment = rd.getTreatmentPlan();
        }
Exemple #4
0
 /// <summary>
 ///     <see cref="ITreatmentRuler{TAttribute}.HasConfiguration(ITreatment)" />
 /// </summary>
 public bool HasConfiguration(ITreatment treatment)
 {
     return(GetConfiguration(treatment) != null);
 }
Exemple #5
0
 /// <summary>
 ///     <see cref="ITreatmentRuler.Postback(ITreatment, ContractResult)" />
 /// </summary>
 public void Postback(ITreatment treatment, ContractResult result)
 {
     Postback(treatment, result, GetConfiguration(treatment));
 }
Exemple #6
0
 /// <summary>
 ///     Méthode interne d'enregistrement.
 /// </summary>
 /// <param name="treatment">Traitement évalué.</param>
 /// <param name="result">Résultat du traitement.</param>
 /// <param name="configuration">Configuration.</param>
 public abstract void Postback(ITreatment treatment, ContractResult result, TConfiguration configuration);
Exemple #7
0
 /// <summary>
 ///     <see cref="ITreatmentRuler.Validates(ITreatment)" />
 /// </summary>
 public bool Validates(ITreatment treatment)
 {
     return(Validates(treatment, GetConfiguration(treatment)));
 }
Exemple #8
0
 /// <summary>
 ///     Méthode interne de validation.
 /// </summary>
 /// <param name="treatment">Traitement évalué.</param>
 /// <param name="configuration">Configuration.</param>
 /// <returns>true si le décisionnaire valide le traitement, false sinon.</returns>
 public abstract bool Validates(ITreatment treatment, TConfiguration configuration);
 public MediumDecorator(ITreatment treatment, string pillName, int price) : base(treatment)
 {
     this.DecoratedTreatment.TreatmentType = ETreatmentType.MEDIUM;
     AddPill(pillName, price);
 }
Exemple #10
0
 /// <summary>
 ///     <see cref="ITreatmentRuler.Matches(ITreatment)" />
 /// </summary>
 public bool Matches(ITreatment treatment)
 {
     return(HasConfiguration(treatment));
 }
 public bool NotExist(ITreatment treatment)
 {
     return !TreatmentsLucene.Any(
         t =>
         t.CheckOutDate == treatment.CheckOutDate && t.EntryDate == treatment.EntryDate &&
         t.Hospital == treatment.Hospital);
 }
Exemple #12
0
 public RiskyDecorator(ITreatment treatment, string pillName, int price) : base(treatment)
 {
     this.DecoratedTreatment.TreatmentType = ETreatmentType.RISKY;
     AddPill(pillName, price);
 }
Exemple #13
0
 public FacileDecorator(ITreatment treatment, string pillName, int price) : base(treatment)
 {
     this.DecoratedTreatment.TreatmentType = ETreatmentType.FACILE;
     AddPill(pillName, price);
 }
Exemple #14
0
 /// <summary>
 ///     Retourne la configuration rattachée à un traitement pour le décisionnaire
 ///     courant.
 /// </summary>
 /// <param name="treatment">Traitement évalué.</param>
 /// <returns>Configuration.</returns>
 public TConfiguration GetConfiguration(ITreatment treatment)
 {
     return(treatment
            .GetType()
            .GetCustomAttribute <TConfiguration>());
 }
Exemple #15
0
 public UnitOfWork(ApplicationDbContext context)
 {
     _context  = context;
     Patient   = new Patient(_context);
     Treatment = new Treatment(_context);
 }
 private void AddFields(ITreatment treatment, Document doc)
 {
     doc.Add(new Field("Id", treatment.Id.ToString(CultureInfo.InvariantCulture), Field.Store.YES, Field.Index.ANALYZED));
     doc.Add(new Field("Hospital", treatment.Hospital.Key, Field.Store.YES, Field.Index.ANALYZED));
     doc.Add(new Field("CheckOutDate", treatment.CheckOutDate.ToShortDateString(), Field.Store.YES, Field.Index.ANALYZED));
     doc.Add(new Field("EntryDate", treatment.EntryDate.ToShortDateString(), Field.Store.YES, Field.Index.ANALYZED));
 }
 public void AddUpdateLuceneIndex(ITreatment patients)
 {
     AddUpdateLuceneIndex(new List<ITreatment> { patients });
     Optimize();
 }
 private void _addToLuceneIndex(ITreatment treatment, IndexWriter writer)
 {
     //Não precisa remover o tratamento, pois existem varios tratamentos com o id igual.
     //     RemoveIndex(treatment, writer);
     var doc = new Document();
     AddFields(treatment, doc);
     writer.AddDocument(doc);
 }
        private void RemoveIndex(ITreatment treatment, IndexWriter writer)
        {
            string str = "";

            str += " (Hospital:" + treatment.Hospital;
            if (treatment.CheckOutDate != DateTime.MinValue)
                str += " AND CheckOutDate:" + treatment.CheckOutDate.ToShortDateString();
            str += " AND Id:" + treatment.Id;
            str += " AND EntryDate:" + treatment.EntryDate.ToShortDateString() + " )";

            writer.DeleteDocuments(CreateQuery(str));
        }
 public SolvableDecorator(ITreatment treatment, string pillName, int price) : base(treatment)
 {
     this.DecoratedTreatment.TreatmentType = ETreatmentType.SOLVABLE;
     AddPill(pillName, price);
 }
 public TreatmentDecorator(ITreatment myTreatment)
 {
     this.DecoratedTreatment = myTreatment;
 }