예제 #1
0
        public async Task <SendDataResetPasswordResponse> SendDataResetPasswordAsync(SendDataResetPasswordRequest sendDataResetPasswordRequest)
        {
            //--- verifica se o request é válido
            ValidateRequestObject(sendDataResetPasswordRequest);

            //--- recupera o id do cliente pelo email
            GetUserIdAndSessionIdByEmailResponse getUserIdAndSessionIdByEmailResponse = _userSqlRepository.GetUserIdAndSessionIdByEmail(new GetUserIdAndSessionIdByEmailRequest(sendDataResetPasswordRequest.Email));

            //--- cria o objeto de request para a api da clearsale
            SendDataResetPasswordClearSaleRequest sendDataResetPasswordClearSaleRequest = new SendDataResetPasswordClearSaleRequest {
                Code      = getUserIdAndSessionIdByEmailResponse.UserId == 0 ? "" : getUserIdAndSessionIdByEmailResponse.UserId.ToString(),
                SessionId = getUserIdAndSessionIdByEmailResponse.SessionId
            };

            //--- valida se o id do cliente e a sessionid foram passadas
            ValidateString(sendDataResetPasswordClearSaleRequest.Code, "Code");
            ValidateString(sendDataResetPasswordClearSaleRequest.SessionId, "SessionId");

            //--- verifica se esta setado para enviar os dados para o clearsale
            CanSendDataResetPasswordClearSale();

            //--- envia para o clearsale e retorna com o resultado
            SendDataResetPasswordResponse sendDataResetPasswordResponse = await _clearSaleProxy.SendDataResetPasswordAsync(sendDataResetPasswordClearSaleRequest);

            return(sendDataResetPasswordResponse);
        }
예제 #2
0
        public GetUserIdAndSessionIdByEmailResponse GetUserIdAndSessionIdByEmail(GetUserIdAndSessionIdByEmailRequest getUserIdAndSessionIdByEmailRequest)
        {
            GetUserIdAndSessionIdByEmailResponse getUserIdAndSessionIdByEmailResponse = new GetUserIdAndSessionIdByEmailResponse();

            using (SqlConnection conn = new SqlConnection(GetConnectionString())) {
                using (var cmd = new SqlCommand("GetUserIdAndSessionIdByEmail")) {
                    cmd.Connection  = conn;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@Email", GetDbValue(getUserIdAndSessionIdByEmailRequest.Email));

                    conn.Open();
                    using (DbDataReader dr = cmd.ExecuteReader()) {
                        if (dr.Read())
                        {
                            getUserIdAndSessionIdByEmailResponse.UserId    = Convert.ToInt32(dr["IdCliente"]);
                            getUserIdAndSessionIdByEmailResponse.SessionId = dr["SessionId"].ToString();
                        }
                    }
                }
            }

            return(getUserIdAndSessionIdByEmailResponse);
        }