Example #1
0
        private static SingleComplexOrder [] InitializeSingleComplexOrders(FlatmateContext context)
        {
            var SCOs = new SingleComplexOrder[]
            {
                new SingleComplexOrder
                {
                    Subject         = "Zakupy - spożywczak",
                    CreationDate    = DateTime.Parse("03/04/2019"),
                    ExpenseCategory = Helpers.ExpenseCategory.Shopping
                },
                new SingleComplexOrder
                {
                    Subject         = "Opłata za prąd",
                    CreationDate    = DateTime.Parse("07/08/2019"),
                    ExpenseCategory = Helpers.ExpenseCategory.Bill
                },
                new SingleComplexOrder
                {
                    Subject         = "Wyrównanie rachunku",
                    CreationDate    = DateTime.Parse("05/05/2019"),
                    ExpenseCategory = Helpers.ExpenseCategory.Other
                }
            };

            foreach (SingleComplexOrder sco in SCOs)
            {
                context.ComplexOrders.Add(sco);
            }
            context.SaveChanges();

            return(SCOs);
        }
Example #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));
        }