Beispiel #1
0
        public IActionResult NewShoppingList()
        {
            var shoppingCreateVM = new ShoppingCreateViewModel {
            };

            return(PartialView("_createNewShoppingListPartial", shoppingCreateVM));
        }
Beispiel #2
0
        public IActionResult NewShoppingList([Bind("Subject, ExpenseCategory, GroupId, SingleElementTitles, SingleElementAmounts, SingleElementUnits, ParticipantIds")] ShoppingCreateViewModel scvm)
        {
            //TODO: change to current user Id
            int currentUserId = 1;

            if (ModelState.IsValid)
            {
                //Dividing data between new event and user assignments.
                var sco = new SingleComplexOrder
                {
                    Subject         = scvm.Subject,
                    ExpenseCategory = scvm.ExpenseCategory,
                    CreationDate    = DateTime.Now
                };

                _context.ComplexOrders.Add(sco);
                _context.SaveChanges();

                var soeToAppend = new List <SingleOrderElement>();

                //Creating per user invitations
                for (int i = 0; i < scvm.SingleElementTitles.Length; i++)
                {
                    soeToAppend.Add(new SingleOrderElement
                    {
                        Title  = scvm.SingleElementTitles[i],
                        Amount = scvm.SingleElementAmounts[i],
                        Unit   = scvm.SingleElementUnits[i],
                        SCOId  = sco.Id
                    });
                }

                _context.OrderElements.AddRange(soeToAppend);
                _context.SaveChanges();

                var scoutas = new List <SCOUserTeamAssignment>
                {
                    new SCOUserTeamAssignment
                    {
                        SCOId  = sco.Id,
                        UserId = currentUserId,
                        TeamId = scvm.GroupId
                    }
                };

                for (int i = 0; i < scvm.ParticipantIds.Length; i++)
                {
                    var scouta = new SCOUserTeamAssignment
                    {
                        SCOId  = sco.Id,
                        UserId = scvm.ParticipantIds[i],
                        TeamId = scvm.GroupId
                    };
                    scoutas.Add(scouta);
                }

                _context.OrdersAssignments.AddRange(scoutas);
                _context.SaveChanges();

                //TODO: change for the currentUserId
                return(RedirectToAction("Index", "BudgetManager", null));
            }
            return(PartialView("_createNewShoppingListPartial", scvm));
        }