コード例 #1
0
        public async Task <IActionResult> ApplyAllWeight(Guid?lineItemId, [Bind("LineItemId,LineItem,InitialWeight,Weight,LotNumber")] PowderBottlePopupViewModel popup)
        {
            var lineItem = await InitApplyAlls(lineItemId);

            if (ModelState.IsValid)
            {
                var powderBatch          = lineItem.PowderBottles;
                List <PowderBottle> list = powderBatch.ToList();
                for (int i = 0; i < list.Count; i++)
                {
                    if (popup.Weight != null)
                    {
                        if (popup.Weight <= list[i].InitWeight)
                        {
                            list[i].Weight = (float)popup.Weight;
                        }
                        else
                        {
                            popup.IsInitWeightValid = false;
                            return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyAllWeight", popup) }));
                        }
                    }
                    else
                    {
                        list[i].Weight = 0f;
                    }
                    SetUIDs();
                    await _repo.UpdatePowderBottle(list[i]);
                }
                lineItem.PowderBottles = list;
                return(Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "_ViewAll", new PowderBottlePopupViewModel(lineItem)) }));
            }
            return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyAllWeight", popup) }));
        }
コード例 #2
0
        public async Task <IActionResult> ApplyAllLotNumber(Guid lineItemId)
        {
            var lineItem = await _repo.GetLineItem(lineItemId);

            var vm = new PowderBottlePopupViewModel(lineItem);

            return(View(vm));
        }
コード例 #3
0
        public async Task <IActionResult> ApplyBottleNumber(Guid powderBottleId, Guid lineItemId)
        {
            var powderBottle = await _repo.GetPowderBottle(powderBottleId);

            var popup = new PowderBottlePopupViewModel(powderBottle)
            {
                LineItemId   = lineItemId,
                BottleNumber = powderBottle.BottleNumber,
                LotNumber    = powderBottle.LotNumber
            };

            return(View(popup));
        }
コード例 #4
0
        public async Task <IActionResult> ApplyBottleNumber(Guid?powderBottleId, Guid?lineItemId, [Bind("LineItemId,InitialWeight,Weight,LotNumber,BottleNumber,PowderBottleId")] PowderBottlePopupViewModel popup)
        {
            if (powderBottleId == null || lineItemId == null)
            {
                return(NotFound());
            }

            popup.LineItem = await InitApplyAlls(lineItemId);

            if (ModelState.IsValid)
            {
                var bottles = await _repo.GetAllPowderBottles();

                var bottlesInit = bottles;
                bottles = bottles.Where(b => b.PowderBottleId != powderBottleId)
                          .Where(b => !string.IsNullOrEmpty(b.BottleNumber)).Where(b => !string.IsNullOrEmpty(b.LotNumber)).ToList();
                var powBot = bottlesInit.FirstOrDefault(b => b.PowderBottleId == powderBottleId);
                popup.LotNumber = powBot.LotNumber;
                bottles         = bottles.Where(b => (b.BottleNumber == popup.BottleNumber && b.LotNumber == popup.LotNumber)).ToList();

                if (bottles.Any())
                {
                    ViewBag.BottleNumberConflict = true;
                    var vm = new PowderBottlePopupViewModel(popup.LineItem, powBot)
                    {
                        LotNumber    = powBot.LotNumber,
                        BottleNumber = powBot.BottleNumber
                    };
                    return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyBottleNumber", vm) }));
                }
                powBot.BottleNumber = popup.BottleNumber;
                SetUIDs();
                await _repo.UpdatePowderBottle(powBot);

                return(Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "_ViewAll", new PowderBottlePopupViewModel(popup.LineItem)) }));
            }
            return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyBottleNumber", popup) }));
        }
コード例 #5
0
        public async Task <IActionResult> ApplyAllLotNumber(Guid?lineItemId, [Bind("LineItemId,LineItem,InitialWeight,Weight,LotNumber,BottleNumber")] PowderBottlePopupViewModel popup)
        {
            var lineItem = await InitApplyAlls(lineItemId);

            popup.LineItem = lineItem;
            if (ModelState.IsValid)
            {
                var powderBatch      = lineItem.PowderBottles.ToList();
                var tempOtherPowders = await _repo.GetAllPowderBottles();

                var otherPowders = tempOtherPowders.ToList();

                List <PowderBottle> list = powderBatch.ToList();
                var tempList             = await _repo.GetAllPowderBottles();

                List <PowderBottle> powderBottles = tempList.ToList();
                powderBottles = powderBottles.ToList();
                for (int i = 0; i < powderBatch.Count; i++)
                {
                    if (!string.IsNullOrEmpty(powderBatch[i].BottleNumber) && !string.IsNullOrEmpty(powderBatch[i].LotNumber))
                    {
                        for (int j = i + 1; j < powderBatch.Count; j++)
                        {
                            if (powderBatch[i].BottleNumber == powderBatch[j].BottleNumber)
                            {
                                ViewBag.BottleNumberConflict = true;
                                popup.BottleNumber           = powderBottles[i].BottleNumber;
                                return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyAllLotNumber", popup) }));
                            }
                        }
                    }
                }
                for (int i = 0; i < otherPowders.Count; i++)
                {
                    if (!string.IsNullOrEmpty(otherPowders[i].BottleNumber) && !string.IsNullOrEmpty(otherPowders[i].LotNumber))
                    {
                        for (int j = 0; j < powderBatch.Count; j++)
                        {
                            if (otherPowders[i].PowderBottleId != powderBatch[j].PowderBottleId)
                            {
                                if ((otherPowders[i].BottleNumber == powderBatch[j].BottleNumber && otherPowders[i].LotNumber == popup.LotNumber) || (otherPowders[i].LotNumber == powderBatch[j].LotNumber && otherPowders[i].BottleNumber == powderBatch[j].BottleNumber))
                                {
                                    ViewBag.BottleNumberConflict = true;
                                    popup.BottleNumber           = powderBottles[i].BottleNumber;
                                    return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyAllLotNumber", popup) }));
                                }
                            }
                        }
                    }
                }

                // SUCCESS: loop through and change all the lot numbers
                for (int i = 0; i < list.Count; i++)
                {
                    list[i].LotNumber = popup.LotNumber;
                    SetUIDs();
                    await _repo.UpdatePowderBottle(list[i]);
                }

                return(Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "_ViewAll", new PowderBottlePopupViewModel(lineItem)) }));
            }

            return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "ApplyAllLotNumber", popup) }));
        }