示例#1
0
        public async Task <IActionResult> LiquidationConfirm(LiquidationApproveByRepViewModel input)
        {
            var liquidationToConfirm = await context.Liquidations.FirstOrDefaultAsync(l => l.Id == input.LiquidationId);

            liquidationToConfirm.ReadyByCashier = true;
            await context.SaveChangesAsync();

            return(Redirect("/Home/Index"));
        }
示例#2
0
        public async Task <IActionResult> LiquidationApprove(LiquidationApproveByRepViewModel model)
        {
            if (model.TotalAccumulated != model.TotalOwned)
            {
                model = await context
                        .Liquidations
                        .Select(l => new LiquidationApproveByRepViewModel()
                {
                    LiquidationId = l.Id,
                    Tickets       = l.Sales.SelectMany(s => s.Tickets)
                                    .Select(t => new TicketViewModel()
                    {
                        AdultCount    = t.AdultCount,
                        ChildCount    = t.ChildrenCount,
                        Discount      = t.Discount,
                        ExcursionName = t.Excursion.ExcursionType.Name,
                        PricePerAdult = t.Excursion.PricePerAdult,
                        PricePerChild = t.Excursion.PricePerChild,

                        Refunds = t.Refunds.Select(r => new RefundViewModel()
                        {
                            AdultCount = r.AdultCount,
                            Cash       = r.Cash,
                            ChildCount = r.ChildCount,
                            CreditCard = r.CreditCard
                        })
                                  .ToList()
                    }).ToList(),
                    IsInvalid = true
                })
                        .FirstOrDefaultAsync(model => model.LiquidationId == model.LiquidationId);

                return(this.View(model));
            }

            var liquidationToChange = await context.Liquidations.FindAsync(model.LiquidationId);

            liquidationToChange.Cash                  = model.Cash;
            liquidationToChange.CreditCard            = model.CreditCard;
            liquidationToChange.ReadyByRepresentative = true;

            await context.SaveChangesAsync();

            return(Redirect("/Home/Index"));
        }