Exemple #1
0
        public void TryParseT(string value, bool ignoreCase, bool expectedSuccess, Chipmonks expectedResult)
        {
            bool success = EnumEx.TryParse(value, ignoreCase, out Chipmonks result);

            Assert.AreEqual(expectedSuccess, success);
            Assert.AreEqual(expectedResult, result);
        }
Exemple #2
0
        public void WhenISpecifyAnEthnicity(string ethnicity)
        {
            var ethnicityEnum = EnumEx.GetValueFromDescription <Ethnicity>(ethnicity);

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithEthnicity((Ethnicity)Enum.Parse(typeof(Ethnicity), ethnicityEnum.ToString()));
        }
Exemple #3
0
        public void WhenISpecifyAProductType(string producttype)
        {
            var productType = EnumEx.GetValueFromDescription <ProductType>(producttype);

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithProductType((ProductType)Enum.Parse(typeof(ProductType), productType.ToString()));
        }
Exemple #4
0
        public void WhenISpecifyANoneNumberOfPeopleInImage(string peopleCount)
        {
            var peoplecount = EnumEx.GetValueFromDescription <NumberOfPeople>(peopleCount);

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithNumberOfPeople((NumberOfPeople)Enum.Parse(typeof(NumberOfPeople), peoplecount.ToString()));
        }
Exemple #5
0
        public void WhenISpecifyAnAgeOfPeople(string ageOfPeople)
        {
            var aop = EnumEx.GetValueFromDescription <AgeOfPeople>(ageOfPeople);

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithAgeOfPeople((AgeOfPeople)Enum.Parse(typeof(AgeOfPeople), aop.ToString()));
        }
        /// <summary>
        /// 傳送給目標玩家(玩家插槽)
        /// </summary>
        /// <param name="type">伺服器訊息種類</param>
        /// <param name="sk">目標玩家的插槽</param>
        /// <param name="inMsg">已封裝的訊息</param>
        private void SendToSocket(ServerMessageType type, Socket sk, string inMsg)
        {
            string code = EnumEx.GetOrderByEnum(type).ToString();

            byte[] byteDatas = Encoding.Default.GetBytes(code + ">" + inMsg);
            SendToClient(sk, byteDatas);
        }
Exemple #7
0
        /// <summary>
        /// 局面をbod形式に変換します。
        /// </summary>
        /// <example>
        /// 後手の持駒:飛 角 金 銀 桂 香 歩四 
        ///   9 8 7 6 5 4 3 2 1
        /// +---------------------------+
        /// |v香v桂 ・ ・ ・ ・ ・ ・ ・|一
        /// | ・ ・ ・ 馬 ・ ・ 龍 ・ ・|二
        /// | ・ ・v玉 ・v歩 ・ ・ ・ ・|三
        /// |v歩 ・ ・ ・v金 ・ ・ ・ ・|四
        /// | ・ ・v銀 ・ ・ ・v歩 ・ ・|五
        /// | ・ ・ ・ ・ 玉 ・ ・ ・ ・|六
        /// | 歩 歩 ・ 歩 歩v歩 歩 ・ 歩|七
        /// | ・ ・ ・ ・ ・ ・ ・ ・ ・|八
        /// | 香 桂v金 ・v金 ・ ・ 桂 香|九
        /// +---------------------------+
        /// 先手の持駒:銀二 歩四 
        /// 手数=171  ▲6二角成  まで
        ///
        /// 後手番
        /// </example>
        public static string BoardToBod(Board board)
        {
            if (board == null || !board.Validate())
            {
                throw new ArgumentException("board");
            }

            var result = new List <string>();

            var type = BoardTypeUtil.GetBoardTypeFromBoard(board);

            if (type != BoardType.None)
            {
                result.Add("手合割:" + EnumEx.GetLabel(type));
            }
            else
            {
                result.Add("後手の持駒:" + HandToBod(board, BWType.White));
                result.Add("  9 8 7 6 5 4 3 2 1");
                result.Add("+---------------------------+");
                result.AddRange(
                    Enumerable.Range(1, Board.BoardSize)
                    .Select(_ => RankToBod(board, _)));
                result.Add("+---------------------------+");
                result.Add("先手の持駒:" + HandToBod(board, BWType.Black));
                result.Add("手数=" + board.MoveCount);

                if (board.Turn == BWType.White)
                {
                    result.Add("後手番");
                }
            }

            return(string.Join("\n", result));
        }
        /// <summary>
        /// Método en el cual se calcula la operación.
        /// </summary>
        /// <param name="ElAnilloProcesado">Anillo que presenta el anillo como se recibe de la operación anterior.</param>
        /// <param name="elPlano">Anillo que representa el plano que ingresó el usuario.</param>
        public void CrearOperacion(Anillo ElAnilloProcesado, Anillo elPlano)
        {
            //Asignamos el valor del anillor procesado al anillo de la operación.
            anilloProcesado = ElAnilloProcesado;

            //Agregamos el texto con las instrucciones de la operación.
            //TextoProceso = "Diámetro: " + String.Format("{0:0.00000}", Diameter) + Environment.NewLine;
            //TextoProceso += "Thickness: " + String.Format("{0:0.0000}", Thickness);

            //Para los NNSI siempre es el programa 44.
            noPrograma = 44;

            //If Width(mm) <= 1.2 : 10, Else Width(mm) > 1.5 : 15
            noStrokes = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), EnumEx.GetEnumDescription(DataManager.UnidadDistance.Milimeter), elPlano.H1.Valor) <= 1.2 ? 10 : 15;

            TextoProceso  = "PROG. \" " + noPrograma + " \" " + noStrokes + " STROKES" + Environment.NewLine;
            TextoProceso += "*LAP" + Environment.NewLine;

            //Fijo para los tipos NNSI
            TextoProceso += "LAPEAR EL DIAMETRO EXTERIOR PARA" + Environment.NewLine;
            TextoProceso += "OBTENER UNA PISTA CONTINUA EN LOS 360" + Environment.NewLine;
            TextoProceso += "GRADOS DEL ANILLO" + Environment.NewLine;

            //Ejecutamos el método para calculo de Herramentales.
            BuscarHerramentales();

            //Ejecutamos el método para calcular los tiempos estándar.
            CalcularTiemposEstandar();
        }
        private Herramental herramentalBarrelGrade()
        {
            ObservableCollection <Herramental> listaBarrelGrade = new ObservableCollection <Herramental>();

            DataManager.GetALLBarrelLapAnillos_("", out listaBarrelGrade);

            double      diametroAnillo = elPlano.D1.Valor;
            Herramental barrelIdeal    = new Herramental();
            string      fracc          = string.Empty;

            foreach (Herramental barrel in listaBarrelGrade)
            {
                //Module.ConvertFracToDecimal()
                fracc = barrel.PropiedadesCadena[0].Valor;
                double deci = Convert.ToDouble(Module.ConvertFracToDecimal(fracc));
                double tope = 0;
                if (deci <= diametroAnillo)
                {
                    if (deci > tope)
                    {
                        tope                   = deci;
                        barrelIdeal            = barrel;
                        barrelIdeal.Encontrado = true;
                    }
                }
            }

            diametroAnillo = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), elPlano.D1.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), elPlano.D1.Valor);

            barrelIdeal.DescripcionRuta = "BARREL " + diametroAnillo;
            return(barrelIdeal);
        }
Exemple #10
0
        /// <summary>
        /// 指定の座標値に駒台上の駒があればそれを取得します。
        /// </summary>
        private BoardPiece PointToCapturedPiece(Point pos)
        {
            var bwTypeN = PointToCapturedBox(pos);

            if (bwTypeN == null)
            {
                return(null);
            }

            var bwType = bwTypeN.Value;

            foreach (var pieceType in EnumEx.GetValues <PieceType>())
            {
                var center = CapturedPieceToPoint(pieceType, bwType);
                var rect   = new Rect(
                    center.X - CellSize.Width / 2,
                    center.Y - CellSize.Height / 2,
                    CellSize.Width,
                    CellSize.Height);

                if (rect.Contains(pos))
                {
                    return(new BoardPiece(pieceType, false, bwType));
                }
            }

            return(null);
        }
Exemple #11
0
        private void Apply(RobotRotated evt)
        {
            var robot = GetRobot(evt.Name).Value.UpdateCompassPoint(
                EnumEx.MapByStringValue <Contracts.CompassPoint, CompassPoint>(evt.CompassPoint));

            _robots[evt.Name] = robot;
        }
Exemple #12
0
        /// <summary>
        /// 駒台上に表示する描画用の駒を設定します。
        /// </summary>
        /// <remarks>
        /// 盤上の駒と違って、駒台上の駒はプロパティで表示・非表示などを
        /// 切り替えるため、駒の移動ごとに追加・削除をする必要はありません。
        /// </remarks>
        private void SyncCapturedPieceObject(bool forceUpdate)
        {
            if (Board == null)
            {
                return;
            }

            // 駒箱に入る駒を初期化します。
            InitKomaboxPieceCount();

            // 先に駒を削除します。
            ClearCapturedPieceObjects();

            // 駒箱・先手・後手用の駒台にある駒を用意します。
            EnumEx.GetValues <BWType>().ForEachWithIndex((bwType, index) =>
            {
                if (EditMode != EditMode.Editing && bwType == BWType.None)
                {
                    // 局面編集モード以外では、駒箱の駒は表示しません。
                    this.capturedPieceObjectList[index] = new List <PieceObject>();
                }
                else
                {
                    this.capturedPieceObjectList[index] =
                        EnumEx.GetValues <PieceType>()
                        .Select(_ => CreateCapturedPieceObject(_, bwType))
                        .ToList();

                    // 駒台に表示します。
                    this.capturedPieceObjectList[index]
                    .Where(_ => _.Piece.PieceType != PieceType.None)
                    .ForEach(_ => this.capturedPieceContainer.Children.Add(_.ModelGroup));
                }
            });
        }
        /// <summary>
        /// 获取下拉框的显示枚举集合
        /// </summary>
        /// <param name="context">提供格式上下文</param>
        /// <returns>包含标准有效值集的 TypeConverter.StandardValuesCollection;如果数据类型不支持标准值集,则为null</returns>
        public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            try
            {
                if (context == null)
                {
                    return(base.GetStandardValues(context));
                }

                if (context.PropertyDescriptor.PropertyType.IsEnum)
                {
                    List <FieldInfoEx> dbiItems = EnumEx.GetEnumFieldInfoExList(context.PropertyDescriptor.PropertyType);
                    var enumItems = (from item in dbiItems select item.Value).ToArray();
                    return(new StandardValuesCollection(enumItems));
                }
                else
                {
                    if (context.Instance.GetType().GetInterface(_ipropertyGridDropDownListType.FullName) != null && context.Instance != null)
                    {
                        System.Collections.ICollection collection = ((IPropertyGridDropDown)context.Instance).GetPropertyGridDropDownItems(context.PropertyDescriptor.Name);
                        if (collection != null)
                        {
                            return(new StandardValuesCollection(collection));
                        }
                    }

                    return(null);
                }
            }
            catch (Exception ex)
            {
                Loger.Error(ex);
                return(null);
            }
        }
Exemple #14
0
 public void EnumerateValues_TEnumIsNotAnEnum_ThrowsException()
 {
     Should.Throw <ArgumentException>(() =>
     {
         EnumEx.EnumerateValues <int>();
     });
 }
Exemple #15
0
        public void BuscarHerramentales()
        {
            Propiedad gapMin = Module.GetPropiedad("s1 Min", elPlano.PerfilPuntas.Propiedades);
            Propiedad gapMax = Module.GetPropiedad("s1 Max", elPlano.PerfilPuntas.Propiedades);

            double gapMinInch = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), gapMin.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), gapMin.Valor);
            double gapMaxInch = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), gapMax.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), gapMax.Valor);
            double gapMedida  = Math.Round((gapMinInch + gapMaxInch) / 2, 3);

            double d1 = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), elPlano.D1.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), elPlano.D1.Valor);

            List <Herramental> bushingAndDisco = DataManager.GetBushingAndDiscoThompsonSegmentos(gapMedida, d1);

            Herramental bushing = bushingAndDisco[0];
            Herramental disco   = bushingAndDisco[1];

            ListaHerramentales.Add(bushing);
            ListaHerramentales.Add(disco);

            double medidaBushing = bushing.Propiedades[0].Valor;

            Herramental clampPlate   = DataManager.GetClampPlateThompsonSegmentos(medidaBushing);
            Herramental backUp       = DataManager.GetBackUpRingThompsonSegmentos(medidaBushing);
            double      medidaBackUp = backUp.Propiedades[0].Valor;

            Herramental platoEmpujador = DataManager.GetPlatoEmpujadorThompsonSegmentos(medidaBushing);
            Herramental tuboEnrollador = DataManager.GetTuboEnrolladorThompsonSegmentos(medidaBackUp);

            ListaHerramentales.Add(clampPlate);
            ListaHerramentales.Add(backUp);
            ListaHerramentales.Add(platoEmpujador);
            ListaHerramentales.Add(tuboEnrollador);

            TextoHerramienta = Module.GetTextoListaHerramentales(ListaHerramentales);
        }
Exemple #16
0
        public void GetValueAndStringValueTest()
        {
            var actual = EnumEx.GetValueAndStringValue <DayOfWeek>()
                         .ToList();

            Assert.Equal(7, actual.Count);

            Assert.Equal("Sunday", actual[0].Value);
            Assert.Equal(DayOfWeek.Sunday, actual[0].Key);

            Assert.Equal("Monday", actual[1].Value);
            Assert.Equal(DayOfWeek.Monday, actual[1].Key);

            Assert.Equal("Tuesday", actual[2].Value);
            Assert.Equal(DayOfWeek.Tuesday, actual[2].Key);

            Assert.Equal("Wednesday", actual[3].Value);
            Assert.Equal(DayOfWeek.Wednesday, actual[3].Key);

            Assert.Equal("Thursday", actual[4].Value);
            Assert.Equal(DayOfWeek.Thursday, actual[4].Key);

            Assert.Equal("Friday", actual[5].Value);
            Assert.Equal(DayOfWeek.Friday, actual[5].Key);

            Assert.Equal("Saturday", actual[6].Value);
            Assert.Equal(DayOfWeek.Saturday, actual[6].Key);
        }
        /// <summary>
        /// 傳送給目標玩家(玩家名稱)
        /// </summary>
        /// <param name="type">伺服器訊息種類</param>
        /// <param name="playerName">玩家名稱</param>
        /// <param name="inMsg">已封裝的訊息</param>
        private void SendToPlayer(ServerMessageType type, string playerName, string inMsg)
        {
            string code = EnumEx.GetOrderByEnum(type).ToString();

            byte[] byteDatas = Encoding.Default.GetBytes(code + ">" + inMsg);
            SendToClient((Socket)socketHT[playerName], byteDatas);
        }
        /// <summary>
        /// Método que calcula los tiempos estándar.
        /// </summary>
        public void Calcular()
        {
            TiempoSetup = DataManager.GetTimeSetup(CentroTrabajo);
            bool banHurricane = Module.GetValorPropiedadBool("ope_hurricane", PropiedadesRequeridasBool);

            Propiedad pDiametro = Module.GetPropiedad("D1", PropiedadesRequeridadas);
            double    diametro  = Module.ConvertTo("Distance", pDiametro.Unidad, "Inch (in)", pDiametro.Valor);

            Propiedad pWidth = Module.GetPropiedad("H1", PropiedadesRequeridadas);
            double    width  = Module.ConvertTo(EnumEx.GetEnumDescription(DataManager.TipoDato.Distance), pWidth.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), pWidth.Valor);

            int rieles = 0;

            if (banHurricane)
            {
                rieles        = GetRielesHurricane(diametro);
                TiempoMachine = Math.Round(((1440.8321 * width) / (575.964 * rieles)) * 100, 3);
            }
            else
            {
                rieles        = GetRieles(diametro);
                TiempoMachine = Math.Round((((1266.27 + (rieles * 7.8698)) * width) / ((rieles * 15) * 36)) * 100, 3);
            }


            //Obtenermos el valor específico de las propiedades requeridas.
            TiempoLabor = TiempoMachine * FactorLabor;
        }
Exemple #19
0
        public void SerializeTest()
        {
            var validMoveList =
                from sq in Board.AllSquares()
                from pc in EnumEx.GetValues <PieceType>()
                from promoted in new bool[] { false, true }
            from rm in EnumEx.GetValues <RankMoveType>()
            from rf in EnumEx.GetValues <RelFileType>()
            from at in EnumEx.GetValues <ActionType>()
            from same in new bool[] { false, true }
            let move = new Move
            {
                DstSquare    = sq,
                Piece        = new Piece(pc, promoted),
                RankMoveType = rm,
                RelFileType  = rf,
                ActionType   = at,
                SameAsOld    = same,
            }
            where move.Validate()
            select move;

            foreach (var move in validMoveList)
            {
                var bytes = PbUtil.Serialize(move);
                Assert.NotNull(bytes);

                var newMove = PbUtil.Deserialize <Move>(bytes);
                Assert.NotNull(newMove);
                Assert.True(newMove.Validate());

                Assert.AreEqual(move, newMove);
            }
        }
        public ObservableCollection <MateriaPrimaAceros> CalcularMateriaPrimaAceroSegmento()
        {
            Propiedad a1Max = Module.GetPropiedad("a1", _elAnillo.PerfilID.Propiedades, "Max");
            Propiedad a1Min = Module.GetPropiedad("a1", _elAnillo.PerfilID.Propiedades, "Min");

            Propiedad h1Max = Module.GetPropiedad("h11", _elAnillo.PerfilLateral.Propiedades, "Max");
            Propiedad h1Min = Module.GetPropiedad("h11", _elAnillo.PerfilLateral.Propiedades, "Min");

            h1Max.Valor  = Module.ConvertTo("Distance", h1Max.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), h1Max.Valor);
            h1Max.Unidad = EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch);

            h1Min.Valor  = Module.ConvertTo("Distance", h1Min.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), h1Min.Valor);
            h1Min.Unidad = EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch);
            double promedioWidth = Math.Round((h1Min.Valor + h1Max.Valor) / 2, 5);

            a1Max.Valor  = Module.ConvertTo("Distance", a1Max.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), a1Max.Valor);
            a1Max.Unidad = EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch);

            a1Min.Valor  = Module.ConvertTo("Distance", a1Min.Unidad, EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch), a1Min.Valor);
            a1Min.Unidad = EnumEx.GetEnumDescription(DataManager.UnidadDistance.Inch);

            ObservableCollection <MateriaPrimaAceros> oLista = DataManager.GetMateriaPrimaPVD(promedioWidth, a1Min.Valor, a1Max.Valor, 0.005, _elAnillo.MaterialBase.Especificacion);

            return(oLista);
        }
Exemple #21
0
        public void GetValuesExpectTestArgumentExceptionCheck1()
        {
            // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
            Action test = () => EnumEx.GetValuesExpect(typeof(Int32), 2, 3, 4, 5);

            Assert.Throws <ArgumentException>(test);
        }
Exemple #22
0
        private void _TBC_OnCallbackQuery(object sender, Telegram.Bot.Args.CallbackQueryEventArgs e)
        {
            var chat = e.CallbackQuery?.Message?.Chat;
            var user = e.CallbackQuery?.From;
            var data = e.CallbackQuery?.Data;

            if (chat == null || user == null || user.IsBot != false || data.IsNullOrEmpty())
            {
                return;
            }

            var options = EnumEx.ToStringArray <OptionKeys>();

            var args = data.Split(" ");

            if (!options.Any(x => x == args[0]))
            {
                return; //no options found
            }
            _logger.Log($"[info] => Chat: @{chat.Username ?? "undefined"}:{chat.Id.ToString()} => User: @{user.Username ?? "undefined"}:{user.Id.ToString()} => Callback ({e.CallbackQuery.Id}): '{data}'");

            _ssCbqLocker.Lock(() =>
            {
                _callbacks.Add(e.CallbackQuery);
            });
        }
Exemple #23
0
        public void WhenISpecifyAEpsFileType(string fileType)
        {
            var filetype = EnumEx.GetValueFromDescription <FileType>(fileType);

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithFileType((FileType)Enum.Parse(typeof(FileType), filetype.ToString()));
        }
        /// <summary>
        /// Returns the enum value from a display name. The enum members requires the <see
        /// cref="DisplayNameAttribute"/>. If non of the enum values has a matching <see
        /// cref="DisplayNameAttribute.DisplayName"/>, then it will try to use <see
        /// cref="Enum.TryParse{TEnum}(string, out TEnum)"/> to retrive a value; otherwise it will
        /// return the default value.
        /// <para/>
        /// Returns the default value of the enum if <paramref name="value"/> is null
        /// </summary>
        /// <typeparam name="TEnum">The enum type to parse into</typeparam>
        /// <param name="value">The value that corresponeds with the enum's <see cref="DisplayNameAttribute.DisplayName"/></param>
        /// <returns>The associated enum value of <paramref name="value"/></returns>
        public static TEnum GetValue <TEnum>(this string value) where TEnum : struct, IConvertible
        {
            if (value == null)
            {
                return(default(TEnum));
            }

            var result = EnumEx.GetDisplayNames <TEnum>().FirstOrDefault(x => x.Value == value);

            if (string.IsNullOrEmpty(result.Value))
            {
                if (Enum.TryParse(value, out TEnum tEnum))
                {
                    return(tEnum);
                }
                else
                {
                    return(default(TEnum));
                }
            }
            else
            {
                return(result.Key);
            }
        }
Exemple #25
0
        public void WhenISpecifyAAbstractComposition(string composition)
        {
            var compositionEnum = EnumEx.GetValueFromDescription <Composition>(composition);

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithComposition((Composition)Enum.Parse(typeof(Composition), compositionEnum.ToString()));
        }
Exemple #26
0
        static List <Customer> ParseCustomersData()
        {
            string[][] customerDatas = ParseFakeData(@"C:/VBDB/MOCK_DATA.csv");

            List <Customer> customers = new List <Customer>();
            int             id        = 10;

            foreach (string[] customerData in customerDatas)
            {
                System.Diagnostics.Debug.Print(customerData.ToString());
                Customer customer = new Customer {
                    Id            = id++,
                    FirstName     = customerData[0],
                    LastName      = customerData[1],
                    Email         = customerData[2],
                    PhoneNumber   = customerData[3],
                    AddressStreet = customerData[4],
                    AddressCity   = customerData[5],
                    AddressState  = EnumEx.GetValueFromName <State>(customerData[6]),
                    AddressZip    = customerData[7]
                };
                customers.Add(customer);
            }

            return(customers);
        }
Exemple #27
0
        public void WhenISpecifyIaGraphicalStyle(string style)
        {
            var styleEnum = EnumEx.GetValueFromDescription <GraphicalStyles>(style.ToLowerInvariant());

            ScenarioContext.Current.Get <SearchImages>("request")
            .WithGraphicalStyle((GraphicalStyles)Enum.Parse(typeof(GraphicalStyles), styleEnum.ToString()));
        }
Exemple #28
0
 private void CopyValues()
 {
     try
     {
         //This is were DCSBiosOutput (subset of DCSBIOSControl) get populated from DCSBIOSControl
         if (string.IsNullOrEmpty(TextBoxTriggerValue.Text))
         {
             throw new Exception("Value cannot be empty");
         }
         if (ComboBoxComparisonCriteria.SelectedValue == null)
         {
             throw new Exception("Comparison criteria cannot be empty");
         }
         if (_dcsbiosControl == null)
         {
             _dcsbiosControl = DCSBIOSControlLocator.GetControl(TextBoxControlId.Text);
         }
         _dcsBiosOutput.Consume(_dcsbiosControl);
         if (!_showCriteria)
         {
             //Value isn't used anyways
             _dcsBiosOutput.DCSBiosOutputComparison = DCSBiosOutputComparison.Equals;
         }
         else
         {
             _dcsBiosOutput.DCSBiosOutputComparison = EnumEx.GetValueFromDescription <DCSBiosOutputComparison>(ComboBoxComparisonCriteria.SelectedValue.ToString());
         }
         try
         {
             if (_showCriteria)
             {
                 //Assume only Integer trigger values can be used. That is how it should be!!
                 try
                 {
                     var f = int.Parse(TextBoxTriggerValue.Text);
                 }
                 catch (Exception e)
                 {
                     throw new Exception("Error while checking Trigger value. Only integers are allowed : " + e.Message);
                 }
                 if (_dcsBiosOutput.DCSBiosOutputType == DCSBiosOutputType.INTEGER_TYPE)
                 {
                     _dcsBiosOutput.SpecifiedValueInt = (uint)Convert.ToInt32(TextBoxTriggerValue.Text);
                 }
                 else
                 {
                     throw new Exception("Error, DCSBIOSOutput can only have a Integer type output. This has String : " + _dcsBiosOutput.ControlId);
                 }
             }
         }
         catch (Exception e)
         {
             throw new Exception("Error while checking Value format : " + e.Message);
         }
     }
     catch (Exception e)
     {
         Common.ShowErrorMessageBox(1030771, e, "Error in CopyValues() : ");
     }
 }
Exemple #29
0
        /// <summary>
        /// 指定の座標値に駒台上の駒があればそれを取得します。
        /// </summary>
        private BoardPiece PointToHandPiece(Point pos)
        {
            var boxTypeN = PointToPieceBoxType(pos);

            if (boxTypeN == null)
            {
                return(null);
            }

            var boxType = boxTypeN.Value;

            foreach (var pieceType in EnumEx.GetValues <PieceType>())
            {
                var center = HandPieceToPoint(pieceType, boxType);
                var rect   = new RectangleF(
                    (float)(center.X - SquareSize.Width / 2),
                    (float)(center.Y - SquareSize.Height / 2),
                    SquareSize.Width,
                    SquareSize.Height);

                if (rect.Contains(pos))
                {
                    return(new BoardPiece(pieceType, false, boxType));
                }
            }

            return(null);
        }
Exemple #30
0
        /// <summary>
        /// オブジェクトの各プロパティが正しく設定されているか調べます。
        /// </summary>
        public bool Validate()
        {
            if (!EnumEx.IsDefined(PieceType))
            {
                return(false);
            }

            switch (PieceType)
            {
            case PieceType.Hisya:
            case PieceType.Kaku:
            case PieceType.Gin:
            case PieceType.Kei:
            case PieceType.Kyo:
            case PieceType.Hu:
                break;

            case PieceType.Gyoku:
            case PieceType.Kin:
                return(!IsPromoted);

            default:
                // Noneもここになります。
                return(false);
            }

            return(true);
        }