Ejemplo n.º 1
0
        public async Task <DeleteManagerByIdResponse> Handle(DeleteManagerByIdRequest request, CancellationToken cancellationToken)
        {
            if (request.AuthenticatorRole == AppRole.Employee)
            {
                return(new DeleteManagerByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.Unauthorized)
                });
            }

            var query = new GetManagerQuery()
            {
                Id = request.ManagerId
            };
            var manager = await queryExecutor.Execute(query);

            if (manager == null)
            {
                return(new DeleteManagerByIdResponse
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var command = new DeleteManagerCommand()
            {
                Parameter = manager
            };
            var deletedManager = await commandExecutor.Execute(command);

            return(new DeleteManagerByIdResponse
            {
                Data = deletedManager
            });
        }
Ejemplo n.º 2
0
        public async Task <GetUserResponse> Handle(GetUserRequest request, CancellationToken cancellationToken)
        {
            dynamic query;
            object  mapTypeObject;

            if (request.Me == "Me" || request.Me == "me")
            {
                if (request.AuthenticatorRole == AppRole.Employee)
                {
                    query = new GetEmployeeQuery()
                    {
                        Id        = request.AuthenticatorId,
                        CompanyId = request.AuthenticatorCompanyId
                    };
                    mapTypeObject = new EmployeeDto();
                }
                else if (request.AuthenticatorRole == AppRole.Manager)
                {
                    query = new GetManagerQuery()
                    {
                        Id        = request.AuthenticatorId,
                        CompanyId = request.AuthenticatorCompanyId
                    };
                    mapTypeObject = new ManagerDto();
                }
                else
                {
                    return(new GetUserResponse()
                    {
                        Error = new ErrorModel(ErrorType.Unauthorized)
                    });
                }
            }
            else
            {
                return(new GetUserResponse()
                {
                    Error = new ErrorModel(ErrorType.UnsupportedMethod)
                });
            }

            var resorce = await queryExecutor.Execute(query);

            if (resorce == null)
            {
                return(new GetUserResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var mappedResorce = mapper.Map(resorce, mapTypeObject);

            return(new GetUserResponse()
            {
                Data = mappedResorce
            });
        }
        public async Task <PutManagerByIdResponse> Handle(PutManagerByIdRequest request, CancellationToken cancellationToken)
        {
            if (request.AuthenticatorRole == AppRole.Employee)
            {
                return(new PutManagerByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.Unauthorized)
                });
            }

            var query = new GetManagerQuery()
            {
                Id        = request.Id,
                CompanyId = request.AuthenticatorCompanyId
            };

            var manager = await queryExecutor.Execute(query);

            if (request.Login == null || request.Password != null)
            {
                request.Login = manager.Login;
                var auth = passwordHasher.Hash(request.Password);
                request.Password = auth[0];
                request.Salt     = auth[1];
            }

            if (request.Login == null || request.Password == null)
            {
                request.Login    = manager.Login;
                request.Password = manager.Password;
                request.Salt     = manager.Salt;
            }

            if (manager == null)
            {
                return(new PutManagerByIdResponse
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var updateManager = mapper.Map <Manager>(request);
            var command       = new PutManagerCommand
            {
                Parameter = updateManager
            };
            var updatedManager = await commandExecutor.Execute(command);

            var response = mapper.Map <ManagerDto>(updatedManager);

            return(new PutManagerByIdResponse
            {
                Data = response
            });
        }
Ejemplo n.º 4
0
        public async Task <PutCompanyByIdResponse> Handle(PutCompanyByIdRequest request, CancellationToken cancellationToken)
        {
            if (request.AuthenticatorRole == AppRole.Employee)
            {
                return(new PutCompanyByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.Unauthorized)
                });
            }

            var query = new GetCompanyQuery()
            {
                Id        = request.Id,
                CompanyId = request.AuthenticatorCompanyId
            };
            var query2 = new GetManagerQuery()
            {
                Id        = request.ManagerId,
                CompanyId = request.AuthenticatorCompanyId
            };

            var company = await queryExecutor.Execute(query);

            var manager = await queryExecutor.Execute(query2);

            if (company == null || manager == null)
            {
                return(new PutCompanyByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var updateCompany = mapper.Map <Company>(request);
            var command       = new PutCompanyCommand
            {
                Parameter = updateCompany
            };
            var updatedCompany = await commandExecutor.Execute(command);

            var response = mapper.Map <CompanyDto>(updatedCompany);

            return(new PutCompanyByIdResponse
            {
                Data = response
            });
        }
        public async Task <AddCompanyResponse> Handle(AddCompanyRequest request, CancellationToken cancellationToken)
        {
            if (request.AuthenticatorRole == AppRole.Employee)
            {
                return(new AddCompanyResponse()
                {
                    Error = new ErrorModel(ErrorType.Unauthorized)
                });
            }

            var query = new GetManagerQuery()
            {
                Id = request.ManagerId
            };
            var manager = await queryExecutor.Execute(query);

            if (manager == null)
            {
                return(new AddCompanyResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var company = mapper.Map <Company>(request);

            company.Manager = manager;
            var command = new AddCompanyCommand()
            {
                Parameter = company
            };
            var companyFromDb = await commandExecutor.Execute(command);

            return(new AddCompanyResponse()
            {
                Data = mapper.Map <CompanyDto>(companyFromDb)
            });
        }
        public async Task <GetManagerByIdResponse> Handle(GetManagerByIdRequest request, CancellationToken cancellationToken)
        {
            var query = new GetManagerQuery()
            {
                Id        = request.ManagerId,
                CompanyId = request.AuthenticatorCompanyId
            };
            var manager = await queryExecutor.Execute(query);

            if (manager == null)
            {
                return(new GetManagerByIdResponse
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var mappedManager = mapper.Map <ManagerDto>(manager);

            return(new GetManagerByIdResponse
            {
                Data = mappedManager
            });
        }