public AccessGroupDto GetDto(DataLayer.Model.Core.AccessGroup.AccessGroup accessGroup)
        {
            var createUser = accessGroup.CreateUserEntity != null
                ? new UserDto()
            {
                EntityId = accessGroup.CreateUserEntity.EntityId, Username = accessGroup.CreateUserEntity.Username
            }
                : new UserDto();
            var updateUser = accessGroup.UpdateUserEntity != null
                ? new UserDto()
            {
                EntityId = accessGroup.UpdateUserEntity.EntityId, Username = accessGroup.UpdateUserEntity.Username
            }
                : new UserDto();
            var data = new AccessGroupDto
            {
                EntityId  = accessGroup.EntityId,
                Name      = accessGroup.Name,
                Created   = Util.GetTimeStamp(accessGroup.Created),
                Updated   = Util.GetTimeStamp(accessGroup.Updated),
                CreatedBy = createUser,
                UpdatedBy = updateUser,
                Active    = accessGroup.Active,
                Code      = accessGroup.Code
            };
            var list = new List <UseCaseActionDto>();

            if (accessGroup.ParentAccessGroupUseCaseActionAccessGroup != null)
            {
                foreach (var item in accessGroup.ParentAccessGroupUseCaseActionAccessGroup)
                {
                    var dto = new UseCaseActionDto()
                    {
                        Action = new ActionDto()
                        {
                            EntityId = item.CurrentUseCaseAction.CurrentAction.EntityId, ActionName = item.CurrentUseCaseAction.CurrentAction.ActionName
                        },
                    };
                    if (item.CurrentUseCaseAction?.UseCase != null)
                    {
                        dto.UseCase = new UseCaseDto()
                        {
                            EntityId = item.CurrentUseCaseAction.UseCase.Value
                        };
                    }


                    list.Add(dto);
                }

                data.UseCaseActionList = list;
            }
            return(data);
        }
Example #2
0
        public ServiceResult <object> GetDtoFromRequest(HttpRequest request)
        {
            var lstData     = new List <UseCaseActionAccessGroupDto>();
            var accessGroup = new AccessGroupDto();

            if (!string.IsNullOrEmpty(request.Form["EntityId"]))
            {
                accessGroup.EntityId = Convert.ToInt64(request.Form["EntityId"]);
            }
            if (!string.IsNullOrEmpty(request.Form["Name"]))
            {
                accessGroup.Name = request.Form["Name"];
            }
            else
            {
                return(new ServiceResult <object>(Enumerator.ErrorCode.ApplicationError,
                                                  "لطفا نام گروه دسترسی را وارد نمایید"));
            }
            if (!string.IsNullOrEmpty(request.Form["Code"]))
            {
                accessGroup.Code = request.Form["Code"];
            }
            if (!string.IsNullOrEmpty(request.Form["Active"]))
            {
                accessGroup.Active = Convert.ToBoolean(request.Form["Active"]);
            }
            if (!string.IsNullOrEmpty(request.Form["Ticket"]))
            {
                accessGroup.Ticket = request.Form["Ticket"];
            }
            if (!string.IsNullOrEmpty(request.Form["actions"]))
            {
                var strings = request.Form["actions"].ToString().Split(",");
                foreach (var item in strings)
                {
                    if (item.Contains("|"))
                    {
                        var useCaseActionDto = new UseCaseActionDto
                        {
                            Action = new ActionDto {
                                EntityId = Convert.ToInt64(item.Split("|")[1])
                            },
                            UseCase = new UseCaseDto {
                                EntityId = Convert.ToInt64(item.Split("|")[0])
                            }
                        };
                        lstData.Add(new UseCaseActionAccessGroupDto
                        {
                            AccessGroup = accessGroup, UseCaseAction = useCaseActionDto
                        });
                    }
                }
            }
            else
            {
                var dto = new UseCaseActionAccessGroupDto
                {
                    AccessGroup = accessGroup
                };
                lstData.Add(dto);
            }

            return(new ServiceResult <object>(lstData, 1));
        }