Exemplo n.º 1
0
    //Generate new colored fragment
    public static void GenerateFragment(Address3 address)
    {
        ItCube.sides[address.Side].fragments[address.Row, address.Col].value = SomeValues.StartFrom;
        ItCube.sides[address.Side].fragments[address.Row, address.Col].SetColor(lColors[Random.Range(0, lColors.Count)]);  //Random color from colors list

        CheckForMergeReady(address);
    }
Exemplo n.º 2
0
        public void EnterAddr3(string address3)

        {
            Address3.Clear();

            Address3.SendKeys(address3);
        }
Exemplo n.º 3
0
            public Task BindModelAsync(ModelBindingContext bindingContext)
            {
                if (bindingContext == null)
                {
                    throw new ArgumentNullException(nameof(bindingContext));
                }

                Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());

                if (bindingContext.ModelType != typeof(Address3))
                {
                    return(TaskCache.CompletedTask);
                }

                var address = new Address3 {
                    Street = "SomeStreet"
                };

                bindingContext.ModelState.SetModelValue(
                    ModelNames.CreatePropertyModelName(bindingContext.ModelName, "Street"),
                    new string[] { address.Street },
                    address.Street);

                bindingContext.Result = ModelBindingResult.Success(address);
                return(TaskCache.CompletedTask);
            }
Exemplo n.º 4
0
        private void SaveAndPop()
        {
            UserTable userChanges = new UserTable();

            userChanges = user;

            userChanges.UserName  = UserName.Trim();
            userChanges.FirstName = FirstName.Trim();
            userChanges.LastName  = LastName.Trim();
            userChanges.Email     = Email.Trim();
            userChanges.Address1  = Address1.Trim();
            if (Address2 != null)
            {
                userChanges.Address2 = Address2.Trim();
            }

            if (Address3 != null)
            {
                userChanges.Address3 = Address3.Trim();
            }

            userChanges.PostCode = PostCode.Trim();
            userChanges.City     = City.Trim();
            userChanges.Country  = Country.Trim();
            userChanges.Phone    = int.Parse(Phone.Trim());
        }
Exemplo n.º 5
0
    public static void AfterMagic(Address3 address)
    {
        if (CheckForFullSide(address))
        {
            SidesControll(address);
        }

        SaveLoad.Save();
    }
        public async Task <IActionResult> Post([FromBody] CreateCustomerRequest request)
        {
            var validator = new CreateCustomerValidator();
            var result    = validator.Validate(request);

            if (!result.IsValid)
            {
                return(BadRequest(result.Errors));
            }

            var addressResult = Address3.Create(request.Address.HouseNoOrName,
                                                request.Address.Street,
                                                request.Address.City,
                                                request.Address.County,
                                                request.Address.PostCode
                                                );

            if (addressResult.Status == OperationStatus.ValidationFailure)
            {
                return(BadRequest(addressResult.ErrorMessages));
            }

            var customerResult = Customer3.Create(request.CustomerId,
                                                  request.FirstName,
                                                  request.LastName,
                                                  request.MiddleName,
                                                  request.Title,
                                                  addressResult.Value,
                                                  request.DateOfBirth,
                                                  request.CountryOfBirth,
                                                  request.IdDocumentType,
                                                  request.IdDocumentNumber,
                                                  request.VatNumber,
                                                  request.VatCountry);

            if (customerResult.Status == OperationStatus.ValidationFailure)
            {
                return(BadRequest(customerResult.ErrorMessages));
            }


            // command handler returns response that wraps domain model
            var response = await _mediator.Send(new CreateCustomerCommand3(
                                                    customerResult.Value));

            if (response.Status == OperationStatus.ValidationFailure)
            {
                return(BadRequest(response.ErrorMessages));
            }

            if (response.Status == OperationStatus.Conflict)
            {
                return(Conflict(response));
            }

            return(Ok(response.Value));
        }
Exemplo n.º 7
0
 private static bool CheckForFullSide(Address3 address)
 {
     foreach (ItFragment fragment in ItCube.sides[address.Side].fragments)
     {
         if (fragment.value < 1 || fragment.GetColor() != ItCube.sides[address.Side].fragments[address.Row, address.Col].GetColor())
         {
             return(false);
         }
     }
     return(true);
 }
Exemplo n.º 8
0
 public static bool MagicNow(Address3 address)
 {
     if (MagicsCount > 0 && ItCube.sides[address.Side].fragments[address.Row, address.Col].value != 0 && ItCube.sides[address.Side].fragments[address.Row, address.Col].value != 1)
     {
         ItCube.sides[address.Side].fragments[address.Row, address.Col].value = 1;
         MagicsCount--;
         GameManager.AfterMagic(address);
         return(true);
     }
     return(false);
 }
Exemplo n.º 9
0
 //check fragment on an empty
 public static bool IsEmpty(Address3 address)
 {
     if (ItCube.sides[address.Side].fragments[address.Row, address.Col].value == 0)
     {
         GenerateFragment(address);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 10
0
        public override string GenerateCodeString()
        {
            string value = "";

            if (Address1 is Address addr)
            {
                value = addr.ToString();
            }
            else if (Address1 is ConstantValue cv)
            {
                value = cv.ToString();
            }

            return($"{Address3.ToString()} = {value}");
        }
Exemplo n.º 11
0
        private void SystemTimer_Tick(object sender, EventArgs e)
        {
            byte chr;
            int  value;

            Address4.Value(Computer.Address[3]);
            Address3.Value(Computer.Address[2]);
            Address2.Value(Computer.Address[1]);
            Address1.Value(Computer.Address[0]);
            Data2.Value(Computer.Data[1]);
            Data1.Value(Computer.Data[0]);
            TapeCounter.Text = Computer.TapeDeck.TapeCounter().ToString();
            chr = Computer.TeleType.NextPrintByte();
            while (chr != 0)
            {
                TeleType.AppendText(((char)chr).ToString());
                if (tapePunch.Running)
                {
                    tapePunch.Punch(chr);
                }
                chr = Computer.TeleType.NextPrintByte();
            }
            if (tapeReader.Running)
            {
                value = tapeReader.Next();
                if (value >= 0)
                {
                    Computer.TeleType.Send((byte)value);
                }
            }
            if (Computer.cpu.Debug && !Computer.cpu.NextStep && !singleStepRead)
            {
                DebugA.Text   = Computer.cpu.ac.ToString("X2");
                DebugX.Text   = Computer.cpu.x.ToString("X2");
                DebugY.Text   = Computer.cpu.y.ToString("X2");
                DebugPC.Text  = Computer.cpu.pc.ToString("X2");
                DebugS.Text   = Computer.cpu.sp.ToString("X2");
                FlagN.Visible = ((Computer.cpu.flags & 0x80) == 0x80);
                FlagV.Visible = ((Computer.cpu.flags & 0x40) == 0x40);
                FlagB.Visible = ((Computer.cpu.flags & 0x10) == 0x10);
                FlagD.Visible = ((Computer.cpu.flags & 0x08) == 0x08);
                FlagI.Visible = ((Computer.cpu.flags & 0x04) == 0x04);
                FlagZ.Visible = ((Computer.cpu.flags & 0x02) == 0x02);
                FlagC.Visible = ((Computer.cpu.flags & 0x01) == 0x01);
                DebugOutput.AppendText(Computer.cpu.DebugOutput + "\r\n");
                singleStepRead = true;
            }
        }
Exemplo n.º 12
0
    public static bool SwapFragments(Address3 a, Address3 b)
    {
        //Swap fragments in Massive
        ItFragment Temp = ItCube.sides[a.Side].fragments[a.Row, a.Col];

        ItCube.sides[a.Side].fragments[a.Row, a.Col] = ItCube.sides[b.Side].fragments[b.Row, b.Col];
        ItCube.sides[b.Side].fragments[b.Row, b.Col] = Temp;

        if (CheckForMergeReady(a) || CheckForMergeReady(b))
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
        public List <string> GetList()
        {
            var list = new List <string>();

            if (!string.IsNullOrWhiteSpace(Address1))
            {
                list.Add(Address1.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(Address2))
            {
                list.Add(Address2.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(Address3))
            {
                list.Add(Address3.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(TownCity))
            {
                list.Add(TownCity.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(County))
            {
                list.Add(County.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(Country))
            {
                list.Add(Country.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(PostCode))
            {
                list.Add(PostCode.TrimI());
            }

            if (!string.IsNullOrWhiteSpace(PoBox))
            {
                list.Add(PoBox.TrimI());
            }

            return(list);
        }
Exemplo n.º 14
0
 public override int GetHashCode()
 {
     unchecked
     {
         var result = NamedTupleCommon.DefaultHashCode;
         result = (result << 5) + result ^ (Id.GetHashCode());
         result = (result << 5) + result ^ (CareOf != null ? CareOf.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (Address1 != null ? Address1.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (Address2 != null ? Address2.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (Address3 != null ? Address3.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (Address4 != null ? Address4.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (City != null ? City.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (Zip != null ? Zip.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (County != null ? County.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         result = (result << 5) + result ^ (Country != null ? Country.GetHashCode() : NamedTupleCommon.DefaultHashCode);
         return(result);
     }
 }
Exemplo n.º 15
0
    public static void MagicHere(Address3 address)
    {
        if (NowInMagic == ItCube.sides[address.Side].fragments[address.Row, address.Col].GetColor())
        {
            PointsToGetMagic++;
        }
        else
        {
            NowInMagic       = ItCube.sides[address.Side].fragments[address.Row, address.Col].GetColor();
            PointsToGetMagic = 0;
        }

        if (PointsToGetMagic >= WayTomagic)
        {
            MagicsCount++;
            PointsToGetMagic = 0;
        }
    }
Exemplo n.º 16
0
        public override int GetHashCode()
        {
            unchecked
            {
                var hashCode = Company != null?Company.GetHashCode() : 0;

                hashCode = (hashCode * 397) ^ (Address1 != null ? Address1.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Address2 != null ? Address2.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Address3 != null ? Address3.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Address4 != null ? Address4.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Address5 != null ? Address5.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Town != null ? Town.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (County != null ? County.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Postcode != null ? Postcode.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ (Country != null ? Country.GetHashCode() : 0);
                return(hashCode);
            }
        }
Exemplo n.º 17
0
 //Removing Colors \ Checking for full cube
 private static void SidesControll(Address3 address)
 {
     if (lColors.Count == 0)
     {
         for (int i = 0; i < ItCube.sides.Length; i++) //Check All Sides
         {
             if (!CheckForFullSide(new Address3(i, 0, 0)))
             {
                 return;
             }
         }
         GameObject.FindGameObjectWithTag("CongratulationScreen").GetComponent <Canvas>().enabled = true;
         SaveLoad.Save();
     }
     else
     {
         lColors.Remove(ItCube.sides[address.Side].fragments[0, 0].GetColor());
     }
 }
Exemplo n.º 18
0
    void FixedUpdate()
    {
        Vector3 fwd = transform.TransformDirection(Vector3.forward);

        //Check for ray hits
        if (Physics.Raycast(transform.position, fwd, out hit, 3))
        {
            if (Selected) //Check for selected fragment
            {
                //Swap position of fragments
                Vector3    TempPos = currentTransform.position;
                Quaternion TempRot = currentTransform.rotation;
                currentTransform.position = hit.transform.position;
                currentTransform.rotation = hit.transform.rotation;
                hit.transform.position    = TempPos;
                hit.transform.rotation    = TempRot;

                //Swap address in Identificator
                Address3 Temp = currentTransform.GetComponent <Identificator>().address;
                currentTransform.GetComponent <Identificator>().address = hit.transform.GetComponent <Identificator>().address;
                hit.transform.GetComponent <Identificator>().address    = Temp;

                //Swap fragments in massive
                if (GameManager.SwapFragments(currentTransform.GetComponent <Identificator>().address, hit.transform.GetComponent <Identificator>().address))
                {
                    //Some fragments was merged, redraw cube
                    Selected = false;
                    gameManager.Draw();
                }
            }
            else
            {
                currentTransform = hit.transform;
                Halo.transform.GetComponent <Renderer>().material.color = Color.cyan;
            }
            Halo.transform.position = currentTransform.position;
            Halo.transform.rotation = currentTransform.rotation;
        }
    }
Exemplo n.º 19
0
        public string GenerateAddressHtmlString(string LineBreak)
        {
            StringBuilder sb = new StringBuilder();

            if (Address1 != null && Address1.Trim() != "")
            {
                sb.Append(Address1 + LineBreak);
            }
            if (Address2 != null && Address2.Trim() != "")
            {
                sb.Append(Address2 + LineBreak);
            }
            if (Address3 != null && Address3.Trim() != "")
            {
                sb.Append(Address3 + LineBreak);
            }

            //CITY
            if (City != null && City != "")
            {
                sb.Append(City);
                if (StateCode != null && StateCode != "")
                {
                    sb.Append(", ");
                }
                else if (PostalCode != null && PostalCode != "")
                {
                    sb.Append(" ");
                }
                else if (CountryCode != null && CountryCode != "" && CountryCode.ToLower() != "us" && CountryCode.ToLower() != "usa")
                {
                    sb.Append("; ");
                }
            }

            //STATE
            if (StateCode != null && StateCode != "")
            {
                sb.Append(StateCode);

                if (PostalCode != null && PostalCode != "")
                {
                    sb.Append(" ");
                }
                else if (CountryCode != null && CountryCode != "" && CountryCode.ToLower() != "us" && CountryCode.ToLower() != "usa")
                {
                    sb.Append("; ");
                }
            }

            //POSTAL
            if (PostalCode != null && PostalCode != "")
            {
                sb.Append(PostalCode);
                if (CountryCode != null && CountryCode != "" && CountryCode.ToLower() != "us" && CountryCode.ToLower() != "usa")
                {
                    sb.Append(LineBreak);
                }
            }

            //COUNTRY
            if (CountryCode != null && CountryCode != "" && CountryCode.ToLower() != "us" && CountryCode.ToLower() != "usa")
            {
                sb.Append(CountryCode);
            }

            sb.Append(LineBreak);

            return(sb.ToString());
        }
Exemplo n.º 20
0
 public bool hasAddress3()
 {
     return(Address3 != null && Address3.Trim().Length != 0);
 }
Exemplo n.º 21
0
        /// <summary>
        ///     Simplify address
        /// </summary>
        /// <remarks>
        ///     This basically is intended to remove empty lines from the address fields and push the remainder up.
        ///     It can mess up the consistency for named fields but that is always a risk with user input
        ///     Postcode is ignored - previously it may have been added to the last line
        /// </remarks>
        public void Simplify()
        {
            var dummyLine = "##DUMMY ADDRESS LINE##";

            // first tidy up
            Address1 = Address1 == null ? "" : Address1.Trim();
            Address2 = Address2 == null ? "" : Address2.Trim();
            Address3 = Address3 == null ? "" : Address3.Trim();
            Address4 = Address4 == null ? "" : Address4.Trim();
            Address5 = Address5 == null ? "" : Address5.Trim();
            Address6 = Address6 == null ? "" : Address6.Trim();

            // check for house number
            // we only check the first two addresses and deal if needed

            // house number is intended to be in address 2 but it could be swapped so we check here

            var houseNameIsNumeric          = Address1.Trim().IsLong();
            var houseNameIsPartialNumeric   = Address1.Trim().FirstWord().IsLong();
            var houseNumberIsNumeric        = Address2.Trim().IsLong();
            var houseNumberIsPartialNumeric = Address2.Trim().FirstWord().IsLong();

            if (houseNameIsNumeric)
            {
                long.TryParse(Address1, out var houseNumber);
                // address1 is fully numeric so we swap
                Address1 = Address2 == null || Address2.Trim() == "" ? dummyLine : Address2;
                Address2 = houseNumber.ToString();
            }
            else
            {
                if (houseNameIsPartialNumeric)
                {
                    // address1 is partial numeric, if address2 is empty we move the number
                    if (Address2 == null || Address2.Trim() == "")
                    {
                        long.TryParse(Address1.Trim().FirstWord(), out var houseNumber);
                        Address1 = Address1.Substring(houseNumber.ToString().Length);
                        Address2 = houseNumber.ToString();
                    }
                }
                else
                {
                    if (houseNumberIsNumeric &&
                        (Address1 == null || Address1.Trim() == ""))
                    {
                        // housenumber is numeric and house nameis empty so we add dummy line to prevent losing empty line which will throw out the order
                        Address1 = dummyLine;
                    }
                    else
                    {
                        if (houseNumberIsPartialNumeric &&
                            (Address1 == null || Address1.Trim() == ""))
                        {
                            // housenumber contains a partial numeric e.g. 32 High street so we split it out
                            long.TryParse(Address2.Trim().FirstWord(),
                                          out var house2Number);
                            Address1 = Address2.Substring(house2Number.ToString().Length);
                            Address2 = house2Number.ToString();
                        }
                    }
                }
            }

            var tempFullAddress = FullAddress(Address1, Address2, Address3, Address4, Address5, Address6,
                                              false);

            // remove any redundancy so that we have a comma separated string
            tempFullAddress.ReplaceAllMid(",,", "", 0, tempFullAddress.Length);

            // now split on comma
            var tempAddress = tempFullAddress.Split(',');

            var tempAddressLen = tempAddress.Length;

            switch (tempAddressLen)
            {
            case 1:
                Address1 = tempAddress[0].Trim();
                Address2 = "";
                Address3 = "";
                Address4 = "";
                Address5 = "";
                Address6 = "";
                break;

            case 2:
                Address1 = tempAddress[0].Trim();
                Address2 = tempAddress[1].Trim();

                Address3 = "";
                Address4 = "";
                Address5 = "";
                Address6 = "";
                break;

            case 3:
                Address1 = tempAddress[0].Trim();
                Address2 = tempAddress[1].Trim();
                Address3 = tempAddress[2].Trim();
                Address4 = "";
                Address5 = "";
                Address6 = "";
                break;

            case 4:
                Address1 = tempAddress[0].Trim();
                Address2 = tempAddress[1].Trim();
                Address3 = tempAddress[2].Trim();
                Address4 = tempAddress[3].Trim();
                Address5 = "";
                Address6 = "";
                break;


            case 5:
                Address1 = tempAddress[0].Trim();
                Address2 = tempAddress[1].Trim();
                Address3 = tempAddress[2].Trim();
                Address4 = tempAddress[3].Trim();
                Address5 = tempAddress[4].Trim();
                Address6 = "";

                break;

            case 6:
                Address1 = tempAddress[0].Trim();
                Address2 = tempAddress[1].Trim();
                Address3 = tempAddress[2].Trim();
                Address4 = tempAddress[3].Trim();
                Address5 = tempAddress[4].Trim();
                Address6 = tempAddress[5].Trim();

                break;

            default:
                Address1 = tempAddress[0].Trim();
                Address2 = tempAddress[1].Trim();
                Address3 = tempAddress[2].Trim();
                Address4 = tempAddress[3].Trim();
                Address5 = tempAddress[4].Trim();
                Address6 = tempAddress[5].Trim();

                break;
            }

            // now remove dummy if it exists
            if (Address1 == dummyLine)
            {
                Address1 = "";
            }
        }
Exemplo n.º 22
0
        public override bool Equals(object obj)
        {
            if (obj is OrganisationAddress)
            {
                obj = Create((OrganisationAddress)obj);
            }

            var address = obj as AddressModel;

            if (address == null)
            {
                return(false);
            }

            if (obj is OrganisationAddress)
            {
            }

            if ((!string.IsNullOrWhiteSpace(Address1) || !string.IsNullOrWhiteSpace(address.Address1)) &&
                Address1?.Trim() != address.Address1?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(Address2) || !string.IsNullOrWhiteSpace(address.Address2)) &&
                Address2?.Trim() != address.Address2?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(Address3) || !string.IsNullOrWhiteSpace(address.Address3)) &&
                Address3?.Trim() != address.Address3?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(City) || !string.IsNullOrWhiteSpace(address.City)) &&
                City?.Trim() != address.City?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(County) || !string.IsNullOrWhiteSpace(address.County)) &&
                County?.Trim() != address.County?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(Country) || !string.IsNullOrWhiteSpace(address.Country)) &&
                Country?.Trim() != address.Country?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(PostCode) || !string.IsNullOrWhiteSpace(address.PostCode)) &&
                PostCode?.Trim() != address.PostCode?.Trim())
            {
                return(false);
            }

            if ((!string.IsNullOrWhiteSpace(PoBox) || !string.IsNullOrWhiteSpace(address.PoBox)) &&
                PoBox?.Trim() != address.PoBox?.Trim())
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 23
0
 public override string GenerateCodeString()
 {
     return($"{Address3.ToString()} = {Address1.ToString()} + {Address2.ToString()}");
 }
Exemplo n.º 24
0
    private static bool CheckForMergeReady(Address3 address) //return true if some line was merged,false - if not
    {
        //Check for full fragment
        if (ItCube.sides[address.Side].fragments[address.Row, address.Col].value == 1)
        {
            if (CheckForFullSide(address))
            {
                SidesControll(address);
            }
            return(false); //Line wasn't merged
        }

        Address3[] InLine = new Address3[SomeValues.InLineLength];

        //Check first way(vartical\horizontal)
        InLine[0] = new Address3(address.Side, address.Row, 0);
        for (int i = 1, f = 1; i < SomeValues.SideSize && f < InLine.Length; i++)
        {
            if (
                ItCube.sides[InLine[f - 1].Side].fragments[InLine[f - 1].Row, i].value == 0 || ItCube.sides[InLine[f - 1].Side].fragments[InLine[f - 1].Row, i].value == 1 ||
                ItCube.sides[InLine[0].Side].fragments[InLine[0].Row, InLine[0].Col].GetColor() != ItCube.sides[InLine[0].Side].fragments[InLine[0].Row, i].GetColor() ||
                ItCube.sides[InLine[0].Side].fragments[InLine[0].Row, InLine[0].Col].value != ItCube.sides[InLine[0].Side].fragments[InLine[0].Row, i].value
                )
            {
                f = 0;
            }
            InLine[f] = new Address3(address.Side, address.Row, i);
            f++;
        }
        if (InLine[InLine.Length - 1] != null) //Check for full line
        {
            Merge(InLine);
            return(true); //Line was merged
        }

        InLine = new Address3[SomeValues.InLineLength];

        //Check second way
        InLine[0] = new Address3(address.Side, 0, address.Col);
        for (int i = 1, f = 1; i < SomeValues.SideSize && f < InLine.Length; i++)
        {
            if (
                ItCube.sides[InLine[f - 1].Side].fragments[i, InLine[f - 1].Col].value == 0 || ItCube.sides[InLine[f - 1].Side].fragments[i, InLine[f - 1].Col].value == 1 ||
                ItCube.sides[InLine[0].Side].fragments[InLine[0].Row, InLine[0].Col].GetColor() != ItCube.sides[InLine[0].Side].fragments[i, InLine[0].Col].GetColor() ||
                ItCube.sides[InLine[0].Side].fragments[InLine[0].Row, InLine[0].Col].value != ItCube.sides[InLine[0].Side].fragments[i, InLine[0].Col].value
                )
            {
                f = 0;
            }

            InLine[f] = new Address3(address.Side, i, address.Col);
            f++;
        }
        if (InLine[InLine.Length - 1] != null) //Check for full line
        {
            Merge(InLine);
            return(true);//Line was merged
        }

        return(false); //Line wasn't merged
    }
            public Task BindModelAsync(ModelBindingContext bindingContext)
            {
                if (bindingContext == null)
                {
                    throw new ArgumentNullException(nameof(bindingContext));
                }

                Debug.Assert(bindingContext.Result == ModelBindingResult.Failed());

                if (bindingContext.ModelType != typeof(Address3))
                {
                    return TaskCache.CompletedTask;
                }

                var address = new Address3 { Street = "SomeStreet" };

                bindingContext.ModelState.SetModelValue(
                    ModelNames.CreatePropertyModelName(bindingContext.ModelName, "Street"),
                    new string[] { address.Street },
                    address.Street);

                bindingContext.Result = ModelBindingResult.Success(address);
                return TaskCache.CompletedTask;
            }