public async Task AddWorkOrder(CommandContext ctx, string title, string description, string type, string location, List <Tuple <string, int> > reqs)
        {
            var id = new OrgController().GetOrgId(ctx.Guild);

            try
            {
                var order = new WorkOrders()
                {
                    Id              = GetHighestWorkOrder(id) + 1,
                    Name            = $"{title}- requested by {ctx.Member.Nickname ?? ctx.Member.DisplayName}",
                    Description     = description,
                    Location        = location,
                    WorkOrderTypeId = (await GetWorkOrderType(ctx, type)).Id,
                    OrgId           = id,
                    isCompleted     = false
                };


                MultiBotDb.WorkOrders.Add(order);
                MultiBotDb.SaveChanges();

                foreach (var item in reqs)
                {
                    var orderReqs = new WorkOrderRequirements();
                    orderReqs.Material    = item.Item1;
                    orderReqs.Amount      = item.Item2;
                    orderReqs.WorkOrderId = order.Id;
                    orderReqs.TypeId      = order.WorkOrderTypeId;
                    MultiBotDb.WorkOrderRequirements.Add(orderReqs);
                    MultiBotDb.SaveChanges();
                }
            } catch (Exception e)
            {
                tHelper.LogException($"Method: AddWorkOrder; Org: {ctx.Guild.Name}; Message: {ctx.Message}; User:{ctx.Member.Nickname}", e);
                Console.WriteLine(e);
            }
        }
Example #2
0
        public async Task AddWorkOrder(CommandContext ctx, string name, string description, string type, string location, List <Tuple <string, int> > reqs)
        {
            var id = new OrgController().GetOrgId(ctx.Guild);

            try
            {
                var order = new WorkOrders()
                {
                    Id              = GetHighestWorkOrder(id) + 1,
                    Name            = name,
                    Description     = description,
                    Location        = location,
                    WorkOrderTypeId = (await GetWorkOrderType(ctx, type)).Id,
                    OrgId           = id,
                    isCompleted     = false
                };


                MultiBotDb.WorkOrders.Add(order);
                MultiBotDb.SaveChanges();

                foreach (var item in reqs)
                {
                    var orderReqs = new WorkOrderRequirements();
                    orderReqs.Material    = item.Item1;
                    orderReqs.Amount      = item.Item2;
                    orderReqs.WorkOrderId = order.Id;
                    orderReqs.TypeId      = order.WorkOrderTypeId;
                    MultiBotDb.WorkOrderRequirements.Add(orderReqs);
                    MultiBotDb.SaveChanges();
                }
            } catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }