Example #1
0
        public async Task <IActionResult> CreateEnterpriseGroup([FromBody] EnterpriseGroupCreateM data)
        {
            var result = await _createService.CreateEnterpriseGroup(data, User.GetUserId());

            if (result != null && result.ContainsKey(nameof(UserAccess.UnauthorizedAccess)))
            {
                return(Forbid());
            }
            return(result == null ? (IActionResult)NoContent() : BadRequest(result));
        }
Example #2
0
        /// <summary>
        /// Method for creating an enterprise group
        /// </summary>
        /// <param name="data">Data</param>
        /// <param name="userId">User Id</param>
        /// <returns></returns>
        public async Task <Dictionary <string, string[]> > CreateEnterpriseGroup(EnterpriseGroupCreateM data, string userId)
        => await CreateContext <EnterpriseGroup, EnterpriseGroupCreateM>(data, userId, unit =>
        {
            var helper = new StatUnitCheckPermissionsHelper(_dbContext);
            helper.CheckRegionOrActivityContains(userId, data.Address?.RegionId, data.ActualAddress?.RegionId, data.PostalAddress?.RegionId, new List <int>());

            if (Common.HasAccess <EnterpriseGroup>(data.DataAccess, v => v.EnterpriseUnits))
            {
                var enterprises = _dbContext.EnterpriseUnits.Where(x => data.EnterpriseUnits.Contains(x.RegId))
                                  .ToList();
                foreach (var enterprise in enterprises)
                {
                    unit.EnterpriseUnits.Add(enterprise);
                }

                if (data.EnterpriseUnits != null)
                {
                    unit.HistoryEnterpriseUnitIds = string.Join(",", data.EnterpriseUnits);
                }
            }

            return(Task.CompletedTask);
        });