Пример #1
0
        public async Task <ResponseModelGetAll <UserModel> > GetRecipients(GetRecipientRequest objGetRecipient)
        {
            try
            {
                UserProvider     objuserprovider  = new UserProvider();
                List <UserModel> listOfRecipients = new List <UserModel>();
                listOfRecipients = await objuserprovider.GetUserRecipients(objAuth0Config, objGetRecipient);

                ResponseModelGetAll <UserModel> objResponseModel = new ResponseModelGetAll <UserModel>
                {
                    Message    = "Successfully Retrieved",
                    StatusCode = 1,
                    ObjectList = listOfRecipients
                };
                return(objResponseModel);
            }
            catch (Exception ex)
            {
                ResponseModelGetAll <UserModel> objResponseModel = new ResponseModelGetAll <UserModel>
                {
                    Message    = ex.Message,
                    StatusCode = 0
                };
                return(objResponseModel);
            }
        }
Пример #2
0
        public async Task <List <UserModel> > GetUserRecipients(Auth0ConfigModel objAuth0Config, GetRecipientRequest objGetRecipientRequest)
        {
            MethodCollection methodCollection = new MethodCollection();
            string           token            = await methodCollection.GetAccessToken(objAuth0Config);

            var user = await GetUserById(objGetRecipientRequest.UserId, objAuth0Config);

            List <UserModel> listOfRecipients = new List <UserModel>();

            switch (user.Role)
            {
            case "Admin":
                listOfRecipients = await GetUsers(token, objAuth0Config, new PaginationInfo { });

                break;

            case "Coach":
                //emailOfReportingUser = await this.GetUserReportingToEmail(token, objAuth0Config, objGetRecipientRequest.UserId);

                if (!string.IsNullOrWhiteSpace(user.ReportsTo))
                {
                    UserModel userReportsTo = await GetUserByEmail(token, user.ReportsTo, objAuth0Config);

                    if (userReportsTo != null)
                    {
                        List <UserModel> userRecipients = await GetAssignedUsers(token, objAuth0Config, user.Email);

                        listOfRecipients.Add(userReportsTo);
                        listOfRecipients.AddRange(userRecipients);
                    }
                }

                break;

            case "SalesPerson":
                //emailOfReportingUser = await this.GetUserReportingToEmail(token, objAuth0Config, objGetRecipientRequest.UserId);
                if (!string.IsNullOrWhiteSpace(user.ReportsTo))
                {
                    UserModel userreportsto = await GetUserByEmail(token, user.ReportsTo, objAuth0Config);

                    if (userreportsto != null)
                    {
                        listOfRecipients.Add(userreportsto);
                    }
                }
                break;
            }
            return(listOfRecipients);
        }