public async Task <IActionResult> PostAsync([FromBody] OrganizationUnitModel model)
        {
            var context = await _workcontext.GetContextAsync(nameof(CorePolicy.OrganizationPolicy.OrganizationUnit_Create));

            var repo = _uow.GetRepository <IOrganizationUnitRepository>();
            await repo.InsertAsync(new OrganizationUnit
            {
                Description  = model.Description,
                Code         = Guid.NewGuid(),
                TenantCode   = await _workcontext.GetTenantCodeAsync(),
                FullName     = model.Name,
                CreatedAt    = DateTime.Now,
                CreatedAtUtc = DateTime.UtcNow,
                CreatedBy    = _workcontext.GetUserCode()
            });

            await _uow.CommitAsync();

            return(Ok());
        }
        public async Task <IActionResult> PutAsync([FromRoute] Guid code, [FromBody] OrganizationUnitModel model)
        {
            var permission = await _workcontext.GetContextAsync(nameof(CorePolicy.OrganizationPolicy.OrganizationUnit_Update));

            var repo             = _uow.GetRepository <IOrganizationUnitRepository>();
            var organizationUnit = await repo.GetByCodeAsync(permission, code);

            if (organizationUnit == null)
            {
                return(NotFound());
            }

            organizationUnit.Description  = model.Description;
            organizationUnit.FullName     = model.Name;
            organizationUnit.UpdatedAt    = DateTime.Now;
            organizationUnit.UpdatedAtUtc = DateTime.UtcNow;
            organizationUnit.UpdatedBy    = Guid.Empty;
            repo.Update(organizationUnit);
            await _uow.CommitAsync();

            return(Ok());
        }