private void AddSupplementaryMove(Move move, Pile pile, HoldingSet holdingSet, bool undoHolding)
        {
            // Add moves to the holding piles.
            for (int i = 0; i < holdingSet.Count; i++)
            {
                HoldingInfo holding     = holdingSet[i];
                Move        holdingMove = new Move(MoveType.Basic, MoveFlags.Holding, move.From, -holding.Length, holding.To);
                WorkingTableau.Move(holdingMove);
                SupplementaryMoves.Add(holdingMove);
            }

            // Add the primary move.
            WorkingTableau.UncheckedMove(new Move(move.From, move.FromRow, move.To));
            SupplementaryMoves.Add(move);

            if (undoHolding)
            {
                // Undo moves from the holding piles.
                for (int i = holdingSet.Count - 1; i >= 0; i--)
                {
                    HoldingInfo holding     = holdingSet[i];
                    Move        holdingMove = new Move(MoveType.Basic, MoveFlags.UndoHolding, holding.To, -holding.Length, move.To);
                    if (!WorkingTableau.TryMove(holdingMove))
                    {
                        break;
                    }
                    SupplementaryMoves.Add(holdingMove);
                }
            }
        }
        public async Task <IActionResult> Create([Bind("Id,HoldingNo,ClientInfoId,HoldingTypeId,HoldingCategoryId,WardId,RoadId,Address,MeterNo,Floor,Flat,AssetValue,Status,EffectDate,DivisionId,DistrictId,UpzillaId,Remark")] HoldingInfo holdingInfo)
        {
            bool IsHoldingInfoExist = _context.HoldingInfo.Any
                                          (x => x.HoldingNo == holdingInfo.HoldingNo && x.Id != holdingInfo.Id);

            if (IsHoldingInfoExist == true)
            {
                ModelState.AddModelError("HoldingNo", "Holding No  Already exit");
            }
            if (ModelState.IsValid)
            {
                holdingInfo.InsertDate = DateTime.Now;
                // holdingInfo.InsertBy=
                _context.Add(holdingInfo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ClientInfoId"]      = new SelectList(_context.ClientInfo, "Id", "UserId", holdingInfo.ClientInfoId);
            ViewData["DistrictId"]        = new SelectList(_context.District, "Id", "DistrictName", holdingInfo.DistrictId);
            ViewData["DivisionId"]        = new SelectList(_context.Division, "Id", "DivisonName", holdingInfo.DivisionId);
            ViewData["HoldingCategoryId"] = new SelectList(_context.HoldingCategory, "Id", "TypeName", holdingInfo.HoldingCategoryId);
            ViewData["HoldingTypeId"]     = new SelectList(_context.HoldingType, "Id", "TypeName", holdingInfo.HoldingTypeId);
            ViewData["RoadId"]            = new SelectList(_context.Road, "Id", "Id", holdingInfo.RoadId);
            ViewData["UpzillaId"]         = new SelectList(_context.Upzilla, "Id", "UpzillaName", holdingInfo.UpzillaId);
            ViewData["WardId"]            = new SelectList(_context.Ward, "Id", "Id", holdingInfo.WardId);
            return(View(holdingInfo));
        }
示例#3
0
        public int AddHolding(HoldingSet holdingSet)
        {
            if (holdingSet.Count == 0)
            {
                return(-1);
            }
            int first = SupplementaryList.Count;

            for (int i = 0; i < holdingSet.Count; i++)
            {
                HoldingInfo holding     = holdingSet[i];
                int         holdingNext = i < holdingSet.Count - 1 ? SupplementaryList.Count + 1 : -1;
                SupplementaryList.Add(new Move(holding.From, holding.FromRow, holding.To, holding.Length, -1, holdingNext));
            }
            return(first);
        }