public void CreateMenuDetail(ModifyGroup SelectObject)
 {
     foreach (var lists in SelectObject.AllModifyMultiple)
     {
         var detail = new MenuDetail
         {
             MenuDetailId = Guid.NewGuid(),
             ProductName  = lists.ProductName,
             Amount       = decimal.Parse(lists.Amount),
             MenuId       = Guid.Parse(lists.MenuId)
         };
         context.MenuDetail.Add(detail);
     }
     context.SaveChanges();
 }
Example #2
0
        public void ModifyMenuData(TaskModuleRequest taskModuleRequest, TaskModuleTaskInfo TaskInfo)
        {
            TeamsBuyContext context   = new TeamsBuyContext();
            var             asJobject = JObject.FromObject(taskModuleRequest.Data);
            var             Value     = asJobject.ToObject <CardTaskFetchValue <string> >()?.Data;
            JObject         Data      = JObject.Parse(JsonConvert.SerializeObject(taskModuleRequest.Data));

            new OrganizeStructureService().ModifyRemoveNeedlessStructure(Data);
            var inputlist = new List <string>();

            foreach (var item in Data)
            {
                inputlist.Add(item.Value.ToString());
            }
            inputlist.Remove(inputlist[0]);
            var StoreName = inputlist[0];

            inputlist.Remove(inputlist[0]);
            var Modify = new ModifyGroup();
            var w      = new List <ModifyMultiple>();

            for (int i = 0; 2 * i < inputlist.Count(); i++)
            {
                w.Add(new ModifyMultiple()
                {
                    ProductName = inputlist[2 * i], Amount = inputlist[2 * i + 1], MenuId = Value
                });
            }
            Modify.AllModifyMultiple = w;
            Modify.StoreName         = StoreName;
            for (var i = 0; i < Modify.AllModifyMultiple.Count; i++)
            {
                if (Modify.AllModifyMultiple[i].ProductName == "" || Modify.AllModifyMultiple[i].Amount.ToString() == "")
                {
                    Modify.AllModifyMultiple.Remove(Modify.AllModifyMultiple[i]);
                }
            }
            new MenuService(context).UpdateMenuOrderStoreName(Value, Modify.StoreName);
            new MenuDetailService(context).DeleteMenuDetail(Value);
            new MenuDetailService(context).CreateMenuDetail(Modify);

            TaskInfo.Card = new CreateCardService().GetResultCustomizedModification(Modify.StoreName, Modify.AllModifyMultiple);
            SetTaskInfo(TaskInfo, TaskModuleUIConstants.UpdateMenu);
        }
        public void ModifyMenuData(string MenuId)
        {
            TeamsBuyContext context = new TeamsBuyContext();
            var             jData   = JObject.FromObject(Request.Data);

            RemoveProperty(jData);
            var inputlist = new List <string>();

            foreach (var item in jData)
            {
                inputlist.Add(item.Value.ToString());
            }
            var StoreName = inputlist[0];

            inputlist.Remove(inputlist[0]);
            var Modify     = new ModifyGroup();
            var ModifyData = new List <ModifyMultiple>();

            for (int i = 0; 2 * i < inputlist.Count(); i++)
            {
                ModifyData.Add(new ModifyMultiple()
                {
                    ProductName = inputlist[2 * i], Amount = inputlist[2 * i + 1], MenuId = MenuId
                });
            }
            Modify.AllModifyMultiple = ModifyData;
            Modify.StoreName         = StoreName;
            for (var i = 0; i < Modify.AllModifyMultiple.Count; i++)
            {
                if (Modify.AllModifyMultiple[i].ProductName == "" || Modify.AllModifyMultiple[i].Amount.ToString() == "")
                {
                    Modify.AllModifyMultiple.Remove(Modify.AllModifyMultiple[i]);
                }
            }
            new MenuService(context).UpdateMenuOrderStoreName(MenuId, Modify.StoreName);
            new MenuDetailService(context).DeleteMenuDetail(MenuId);
            new MenuDetailService(context).CreateMenuDetail(Modify);
        }
Example #4
0
        protected override async Task <Group> OnAuditedExecute(IReadWriteDataSource dataSource, IDbTransaction transaction, ModifyGroup provisionalAuditTrailEntry)
        {
            if (Group.Id == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(Group), "Group.Id must have a value");
            }
            if (string.IsNullOrWhiteSpace(Group.Name))
            {
                throw new ArgumentOutOfRangeException(nameof(Group), "Group.Name must have a value");
            }

            var databaseConnection = await dataSource.GetDbConnection();

            provisionalAuditTrailEntry.RelatedTenant = Group.Tenant;

            var resultantGroup = await databaseConnection.QuerySingleAsync <Group>("security.usp_UpdateSecurityGroup",
                                                                                   new { Security_Group_ID = Group.Id, Name = Group.Name },
                                                                                   transaction : transaction, commandType : System.Data.CommandType.StoredProcedure, commandTimeout : 30);

            Group = resultantGroup;

            provisionalAuditTrailEntry.Group    = resultantGroup;
            provisionalAuditTrailEntry.NewGroup = false;

            return(resultantGroup);
        }
Example #5
0
        protected override async Task OnCommandCompleted(IReadWriteDataSource dataSource, ModifyGroup auditTrailEntry, Group result)
        {
            if (Group.Users != null)
            {
                foreach (var mem in Group.Users)
                {
                    var createMembershipCommand = new CreateSecurityGroupMembership(Logger, PerformedBy, ConnectionId, OriginatingService.Id, Comment,
                                                                                    new GroupMembership()
                    {
                        Group = Group, User = mem.User, Enabled = mem.Enabled
                    });

                    await createMembershipCommand.Execute(dataSource);
                }
            }

            if (Group.AccessControlEntries != null)
            {
                foreach (var ace in Group.AccessControlEntries)
                {
                    var createACECommand = new CreateAccessControlEntry(Logger, PerformedBy, ConnectionId, OriginatingService.Id, Comment,
                                                                        new AccessControlEntry()
                    {
                        Group = Group, Permission = ace.Permission, Resource = ace.Resource
                    });

                    await createACECommand.Execute(dataSource);
                }
            }
        }
Example #6
0
        protected override async Task <Group> OnAuditedExecute(IReadWriteDataSource dataSource, IDbTransaction transaction, ModifyGroup provisionalAuditTrailEntry)
        {
            if (Group.Id != 0)
            {
                throw new ArgumentOutOfRangeException(nameof(Group), "Group.Id must not have a value");
            }
            if (string.IsNullOrWhiteSpace(Group.Name))
            {
                throw new ArgumentOutOfRangeException(nameof(Group), "Group.Name must have a value");
            }

            var databaseConnection = await dataSource.GetDbConnection();

            var creationParameters = new DynamicParameters(new
            {
                Name      = Group.Name,
                Tenant_ID = Group.Tenant?.Id
            });

            creationParameters.Add("Security_Group_ID", dbType: DbType.Int64, direction: ParameterDirection.Output);

            provisionalAuditTrailEntry.RelatedTenant = Group.Tenant;

            // Create the group itself, then iterate through its ACLs and memberships, creating those
            await databaseConnection.ExecuteAsync("security.usp_CreateSecurityGroup", creationParameters,
                                                  commandType : CommandType.StoredProcedure, transaction : transaction, commandTimeout : 30);

            Group.Id = creationParameters.Get <long>("Security_Group_ID");

            provisionalAuditTrailEntry.Group    = Group;
            provisionalAuditTrailEntry.NewGroup = true;

            return(Group);
        }
Example #7
0
 public static void RemoveGroup(ModifyGroup group)
 {
     ModifyGroups.Remove(group);
 }