Beispiel #1
0
 /// <summary>
 /// Loads a specialist into the specialist pool for this game.
 /// </summary>
 /// <param name="configuration">The specialist configuration object to add to the pool</param>
 /// <returns>If the configuration could be added to the pool</returns>
 /// <exception cref="Exception">Throws an exception of a specialist with that name already exists in the game</exception>
 private bool AddSpecialistToPool(SpecialistConfiguration configuration)
 {
     if (_specialistPool.ContainsKey(configuration.SpecialistName))
     {
         throw new Exception("Specialist name already exists.");
     }
     _specialistPool.Add(configuration.SpecialistName, configuration);
     return(true);
 }
Beispiel #2
0
 public SpecialistConfigurationModel(SpecialistConfiguration configuration)
 {
     SpecialistConfig = configuration;
     // Generate an id if one was not generated
     if (string.IsNullOrEmpty(SpecialistConfig.Id))
     {
         SpecialistConfig.Id = Guid.NewGuid().ToString();
     }
 }
Beispiel #3
0
        public Specialist SpawnSpecialist(string specialistName, Player player)
        {
            if (_specialistPool.ContainsKey(specialistName))
            {
                SpecialistConfiguration configuration = _specialistPool[specialistName];
                Specialist spawnedSpecialist          = new Specialist(specialistName, (int)configuration.Priority, player);

                // Create the specialist effects.
                SpecialistEffectFactory effectFactory = new SpecialistEffectFactory();
                foreach (var effectConfiguration in configuration.SpecialistEffects.ToList())
                {
                    ISpecialistEffect effect = effectFactory.CreateSpecialistEffect(effectConfiguration);
                    spawnedSpecialist.AddSpecialistEffect(effect);
                }

                return(spawnedSpecialist);
            }
            return(null);
        }
        private void ReadRecords()
        {
            _list = new List <SpecialistConfiguration>();

            foreach (var row in grdConfiguration.Rows)
            {
                var oSpecialistConfiguration = new SpecialistConfiguration();
                foreach (var cell in grdConfiguration.Rows[row.Index].Cells)
                {
                    var columnKey = cell.Column.Key;
                    if (columnKey == "i_SystemUserId")
                    {
                        oSpecialistConfiguration.i_SystemUserId = cell.Value.ToString();
                    }
                    else if (columnKey == "i_CategoryId")
                    {
                        oSpecialistConfiguration.i_CategoryId = cell.Value.ToString();
                    }
                    else if (columnKey == "v_EmployerOrganizationId")
                    {
                        oSpecialistConfiguration.v_EmployerOrganizationId = cell.Value.ToString();
                    }
                    else if (columnKey == "v_CustomerOrganizationId")
                    {
                        oSpecialistConfiguration.v_CustomerOrganizationId = cell.Value.ToString();
                    }
                    else if (columnKey == "v_WorkingOrganizationId")
                    {
                        oSpecialistConfiguration.v_WorkingOrganizationId = cell.Value.ToString();
                    }
                    else if (columnKey == "Price")
                    {
                        oSpecialistConfiguration.Price = float.Parse(cell.Value.ToString());
                    }
                }
                _list.Add(oSpecialistConfiguration);
            }

            if (_list.Count == 0)
            {
                MessageBox.Show(@"Ningún registro leido", @"INFORMACIÓN", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        public BindingList <SpecialistConfiguration> LoadGrid()
        {
            try
            {
                var oList = new BindingList <SpecialistConfiguration>();

                var dbContext = new SigesoftEntitiesModel();

                var queryable = dbContext.medico.Where(p => p.i_MasterServiceId == (int)MasterService.Eso && p.i_MasterServiceTypeId == (int)ServiceType.Empresarial).ToList();

                foreach (var item in queryable)
                {
                    var oSpecialistConfiguration = new SpecialistConfiguration();
                    oSpecialistConfiguration.v_MedicoId = item.v_MedicoId;
                    oSpecialistConfiguration.Price      = float.Parse(item.r_Price.ToString());
                    if (item.i_SystemUserId != null)
                    {
                        oSpecialistConfiguration.i_SystemUserId = item.i_SystemUserId.Value.ToString();
                    }

                    if (item.i_CategoryId != null)
                    {
                        oSpecialistConfiguration.i_CategoryId = item.i_CategoryId.Value.ToString();
                    }

                    oSpecialistConfiguration.v_CustomerOrganizationId = item.v_CustomerOrganizationId;
                    oSpecialistConfiguration.v_EmployerOrganizationId = item.v_EmployerOrganizationId;
                    oSpecialistConfiguration.v_WorkingOrganizationId  = item.v_WorkingOrganizationId;

                    oList.Add(oSpecialistConfiguration);
                }
                return(oList);
            }
            catch (Exception)
            {
                return(null);
            }
        }